Function at 0x40e770
Capabilities:
Authenticate hmac
Create process on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5ccb9c
mov eax, dword fs:[0]
push eax
sub esp, 0x33c
mov eax, dword [0x613ad0]
xor eax, esp
mov dword [esp + 0x338], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x613ad0]
xor eax, esp
push eax
lea eax, [esp + 0x350]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x360]
mov ebx, dword [esp + 0x364]
xor esi, esi
xor edi, edi
test byte [0x6154fc], 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x24], ebx
jne 0x40e802
or dword [0x6154fc], 1
mov ecx, 0x6154e8
mov dword [esp + 0x358], edi
call fcn.0058e7c6
push 0x5d6c70
call fcn.005ac291
add esp, 4
mov dword [esp + 0x358], 0xffffffff
test byte [0x6154fc], 2
jne 0x40e83f
or dword [0x6154fc], 2
mov ecx, 0x6154d4
mov dword [esp + 0x358], 1
call fcn.0058e7c6
push 0x5d6c60
call fcn.005ac291
add esp, 4
mov dword [esp + 0x358], 0xffffffff
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x94], 0
je 0x40e874
mov eax, dword [0x6154f0]
push ebp
push eax
mov ecx, 0x6154e8
call fcn.00596164
mov ecx, dword [0x6154dc]
push ebx
push ecx
mov ecx, 0x6154d4
call fcn.00596164
jmp 0x4121cd
test ebp, ebp
je 0x40e87e
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
test esi, esi
mov dword [eax + 0x94], 1
jne 0x40e8ae
test ebx, ebx
je 0x40e8ae
mov edx, dword [ebx + 0x70]
push 1
push 1
push edx
mov ecx, ebx
call fcn.00463580
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x94], esi
jmp 0x4121cd
lea ecx, [esi + 0x20]
call fcn.0041abc0
test eax, eax
jne 0x40e8c4
test edi, edi
je case.default.0x40e90f
mov esi, edi
test esi, esi
je case.default.0x40e90f
mov eax, dword [esi + 4]
test eax, eax
mov edx, 0xf
lea edi, [edx - 2]
jne 0x40e8e7
mov ecx, dword [esi + 8]
cmp ecx, 6
je 0x40e8f1
cmp ecx, edx
je 0x40e8f1
cmp eax, 0x12
jne 0x40e8f5
cmp dword [esi + 8], edi
jne 0x40e8f5
xor eax, eax
jmp switch.0x0040e90f
cmp eax, 0x1001
jg 0x412120
je 0x412108
cmp eax, 0x1d
ja case.default.0x40e90f
jmp dword [eax*4 + 0x4121fc]
mov eax, dword [esi + 8]
test eax, eax
je 0x40e951
cmp eax, 1
je 0x40e951
cmp eax, edx
je 0x40e951
cmp eax, 2
je 0x40e951
cmp eax, 3
je 0x40e951
cmp eax, 4
je 0x40e951
cmp eax, 5
je 0x40e951
cmp eax, 6
je 0x40e951
cmp eax, 0xc
je 0x40e956
cmp eax, edi
je 0x40e951
cmp eax, 0xa
jne 0x40ee11
cmp eax, 0xc
jne 0x40e967
mov ecx, dword [esp + 0x24]
call fcn.0045e660
mov ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x40e9bd
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x40ed86
cmp dword [eax + 8], 0x54535254
jne 0x40e9ad
test byte [eax + 0x158], 1
jne 0x40e9ad
push eax
call fcn.0042d330
add esp, 4
test eax, eax
je 0x40ed86
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x38]
call eax
push eax
push esi
call fcn.0043c330
mov ebx, eax
mov dword [esp + 0x1c], ebx
jmp 0x40e9ba
push eax
push esi
call fcn.0043c330
mov ebx, eax
mov dword [esp + 0x1c], eax
add esp, 8
test ebx, ebx
je 0x40ed86
cmp dword [esi + 0x64], 0
je 0x40ec6d
cmp dword [esi + 8], 0xc
je 0x40ec6d
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 1
call fcn.00402080
lea ecx, [esi + 0x68]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x35c], 2
call fcn.004024f0
mov eax, dword [esi + 0x6c]
cmp eax, 0xffffffff
je 0x40ea1c
mov ecx, dword [esi + 0x70]
cmp ecx, 0xffffffff
je 0x40ea1c
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
jmp 0x40ea58
mov ecx, dword [0x615468]
call fcn.0040d340
push eax
push esi
call fcn.0043c330
add esp, 8
test eax, eax
je 0x40ea48
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call fcn.0042d050
jmp 0x40ea58
mov dword [esp + 0x2c], 0x311
mov dword [esp + 0x3c], 0x258
cmp dword [esi + 8], edi
je 0x40ea77
mov edx, dword [esp + 0x18]
mov eax, dword [0x615424]
push edx
push eax
call fcn.0040d5b0
mov ebp, eax
test ebp, ebp
jne 0x40ebef
push 0xf8
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov byte [esp + 0x358], 3
je 0x40ea9f
mov ecx, eax
call fcn.00421b90
mov ebp, eax
jmp 0x40eaa1
xor ebp, ebp
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x78]
mov eax, dword [esi + 0x74]
push ecx
mov ecx, dword [esi + 0x70]
push edx
mov edx, dword [esi + 0x6c]
push eax
push ecx
push edx
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
mov byte [esp + 0x374], 2
call fcn.00403190
mov ecx, ebp
call fcn.00421cb0
xor ebx, ebx
cmp eax, ebx
jne 0x40eb0b
cmp ebp, ebx
je 0x40ec54
mov edx, dword [ebp]
mov eax, dword [edx + 4]
push 1
mov ecx, ebp
call eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
push 0x98
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, ebx
mov byte [esp + 0x358], 4
je 0x40eb4c
push ebx
mov ecx, eax
call fcn.0040d1c0
mov edi, eax
jmp 0x40eb4e
xor edi, edi
mov eax, dword [edi]
mov edx, dword [eax + 0x54]
push ebx
push 0x29a
push ebp
lea ecx, [esp + 0x54]
push ecx
push 0x50000000
push ebx
push ebx
mov ecx, edi
mov byte [esp + 0x374], 2
call edx
test eax, eax
jne 0x40eb83
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 1
mov ecx, edi
call edx
xor edi, edi
cmp dword [0x615428], 1
jne 0x40ebab
cmp dword [0x61542c], 0
je 0x40ebab
push 0x13
push 0
push 0
push 0
push 0
push 0x61f4f8
mov ecx, ebp
call fcn.0058a9ae
mov ebx, dword [esp + 0x14]
test edi, edi
je 0x40ec54
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push 0x5eea6c
push 0x5eea6c
push ecx
push eax
push 1
mov ecx, edi
call fcn.0058dcf3
mov esi, dword [esi + 0x40]
test esi, esi
je 0x40ebff
cmp esi, 0xffffffff
je 0x40ebff
push 0
push esi
push 1
push ebx
mov ecx, edi
call fcn.0040e4f0
jmp 0x40ec0d
mov edi, dword [ebp + 0xd4]
mov dword [esp + 0x30], 0
jmp 0x40ebaf
push 1
push 0
push 1
push ebx
mov ecx, edi
call fcn.0040e330
push edi
mov ecx, ebp
call fcn.00421570
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0x20]
push 0
push eax
push 0x2641
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 5
mov ecx, ebp
call fcn.0058a7a3
mov edx, dword [ebp + 0x20]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 3
push 0
push 0
push 0
push 0
push 0x61f448
mov ecx, ebp
call fcn.0058a9ae
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
mov ecx, dword [0x61546c]
test ecx, ecx
mov edi, dword [esp + 0x1c]
je 0x40ecbc
cmp dword [0x615468], edi
jne 0x40ecc4
mov eax, dword [esi + 8]
cmp eax, 6
je 0x40ec90
cmp eax, 0xf
jne 0x40ecaa
mov eax, dword [esi + 0x40]
test eax, eax
je 0x40ecaa
cmp eax, 0xffffffff
je 0x40ecaa
push 0
push eax
mov eax, dword [ecx + 0x20]
push 0x2640
push eax
jmp 0x40ecb6
mov ecx, dword [ecx + 0x20]
push 0
push ebx
push 0x2640
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x615468], edi
je 0x40ed23
test dword [esi + 0x5c], 0x1000000
je 0x40ed23
push 0x84
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x358], 5
je 0x40ecf9
push esi
mov ecx, eax
call fcn.00402590
mov edi, eax
jmp 0x40ecfb
xor edi, edi
push 0xc
mov dword [esp + 0x35c], 0xffffffff
call fcn.0057def7
mov esi, eax
mov dword [esi], edi
mov dword [esi + 4], 0
mov edx, dword [ebp + 8]
mov dword [esi + 8], edx
jmp 0x40fe67
mov eax, dword [esi + 8]
cmp eax, 6
je 0x40ed30
cmp eax, 0xf
jne 0x40ed4e
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x40ed4e
cmp ecx, 0xffffffff
je 0x40ed4e
push 1
push ecx
push 1
push ebx
mov ecx, edi
call fcn.0040e4f0
jmp case.default.0x40e90f
cmp eax, 1
jne 0x40ed64
push eax
push eax
push 0
push ebx
mov ecx, edi
call fcn.0040e330
jmp case.default.0x40e90f
xor ecx, ecx
cmp eax, 0xc
setne cl
xor edx, edx
cmp dword [esi + 0x5c], 1
sete dl
push ecx
mov ecx, edi
push edx
push 0
push ebx
call fcn.0040e330
jmp case.default.0x40e90f
mov ebx, 1
cmp dword [0x615428], ebx
jne case.default.0x40e90f
cmp dword [esi + 8], 0
jne 0x40edfa
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x74]
push eax
call fcn.0042d330
add esp, 4
test eax, eax
je 0x40edee
mov ecx, dword [edi + 0x74]
cmp dword [ecx + 8], 0x4c544954
je 0x40edcc
lea ecx, [ecx]
mov ecx, dword [ecx + 0x10]
cmp dword [ecx + 8], 0x4c544954
jne 0x40edc0
mov eax, dword [ecx]
xor edx, edx
cmp dword [esi + 0x5c], ebx
push ebx
sete dl
push edx
mov edx, dword [eax + 0x38]
push 0
call edx
mov ecx, dword [esp + 0x28]
push eax
call fcn.0040e330
jmp case.default.0x40e90f
cmp dword [0x615428], ebx
jne case.default.0x40e90f
cmp dword [esi + 8], 0xc
jne case.default.0x40e90f
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
jmp case.default.0x40e90f
sub eax, 7
je 0x40f0a6
sub eax, 1
je 0x40ef50
sub eax, 0x2a
jne case.default.0x40e90f
lea ecx, [esp + 0x5c]
call fcn.00580534
xor esi, esi
cmp dword [0x6153fc], esi
mov dword [esp + 0x358], 0xb
jle 0x40ee6d
lea ebx, [ebx]
push esi
mov ecx, 0x6153f4
call fcn.00401700
mov eax, dword [eax]
cmp eax, dword [ebx + 0x74]
je 0x40ee6d
add esi, 1
cmp esi, dword [0x6153fc]
jl 0x40ee50
cmp esi, dword [0x6153fc]
mov ebx, esi
jge 0x40ef37
push ebx
mov ecx, 0x6153f4
call fcn.00401700
mov esi, dword [eax]
mov eax, dword [esi + 8]
cmp eax, 0x45474150
jne 0x40ef21
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x64]
call fcn.00596040
push 0
lea eax, [esp + 0x60]
push eax
push esi
call fcn.0042dc10
lea ecx, [esp + 0x68]
push ecx
push esi
call fcn.0042dc30
xor edi, edi
add esp, 0x14
cmp dword [esp + 0x64], edi
jle 0x40ef28
push edi
lea ecx, [esp + 0x60]
call fcn.00401700
mov ebp, dword [eax]
cmp dword [ebp + 0x54], 7
je 0x40eee3
add edi, 1
cmp edi, dword [esp + 0x64]
jl 0x40eec6
jmp 0x40ef28
mov eax, dword [0x61546c]
test eax, eax
je 0x40ef0a
mov edx, dword [0x615468]
cmp edx, dword [esp + 0x1c]
jne 0x40ef0a
mov eax, dword [eax + 0x20]
push 0
push esi
push 0x2640
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x1c]
push 0
push ebp
push 1
push esi
call fcn.0040e4f0
cmp edi, dword [esp + 0x64]
jl 0x40ef37
jmp 0x40ef28
cmp eax, 0x4d415246
je 0x40ef37
add ebx, 1
cmp ebx, dword [0x6153fc]
jl 0x40ee7b
lea ecx, [esp + 0x5c]
mov dword [esp + 0x358], 0xffffffff
call fcn.0058054b
jmp case.default.0x40e90f
lea ecx, [esp + 0x18]
call fcn.00402080
mov eax, dword [esi + 0x14]
add esi, 0x14
cmp dword [eax - 0xc], 1
mov dword [esp + 0x358], 6
jge 0x40ef7a
push 0x80070057
call fcn.00401a10
movzx eax, word [eax + 2]
cmp ax, 0x3a
je 0x40efe1
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jge 0x40ef96
push 0x80070057
call fcn.00401a10
movzx eax, word [eax]
cmp ax, 0x5c
je 0x40efe1
push 0x6153b8
lea ecx, [esp + 0x1c]
call fcn.004024f0
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
add eax, 0xffffffff
push eax
lea ecx, [esp + 0x1c]
call fcn.00403160
cmp ax, 0x5c
je 0x40efd5
push 0x5d957c
lea ecx, [esp + 0x1c]
call fcn.00407200
push esi
lea ecx, [esp + 0x1c]
call fcn.00404540
jmp 0x40efeb
push esi
lea ecx, [esp + 0x1c]
call fcn.004024f0
mov esi, dword [esp + 0x18]
push esi
call fcn.004030d0
add esp, 4
test eax, eax
je 0x40f038
mov edx, dword [0x61540c]
push 0x50010
push edx
push 0x7d11
call fcn.00443770
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
call fcn.0058276d
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
push esi
mov ecx, 0x6152d8
call fcn.005890bd
cmp dword [0x615380], 0
jne 0x40f08d
mov eax, dword [0x61540c]
push 0x50010
push eax
push 0x7d11
call fcn.00443770
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
call fcn.0058276d
push 0x61537c
mov ecx, 0x61537c
call fcn.00402b30
mov ecx, dword [0x615468]
mov ecx, dword [ecx + 0x54]
mov edx, dword [ecx]
mov eax, dword [edx + 0x70]
call eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
push 0xac
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x358], 7
je 0x40f0d8
mov ecx, dword [0x6152f8]
push ecx
mov ecx, eax
call fcn.00412af0
mov ebp, eax
jmp 0x40f0da
xor ebp, ebp
mov ecx, ebp
mov dword [esp + 0x358], 0xffffffff
call fcn.00412cf0
lea edx, [esp + 0x48]
push edx
add esi, 0x14
push esi
push 0x61537c
call fcn.00444bd0
add esp, 0xc
lea ecx, [esp + 0x20]
mov edi, eax
call fcn.00402080
lea ecx, [esp + 0x34]
mov dword [esp + 0x358], 8
call fcn.00402080
lea ecx, [esp + 0x18]
call fcn.00402080
xor ebx, ebx
cmp edi, ebx
mov byte [esp + 0x358], 0xa
lea ecx, [esp + 0x20]
je 0x40f142
add edi, 0x10
push edi
jmp 0x40f143
push esi
call fcn.004024f0
mov esi, dword [esp + 0x20]
cmp dword [esi - 0xc], ebx
jle 0x40f184
push 0x3a
push esi
call fcn.005ac2a3
add esp, 8
cmp eax, ebx
je 0x40f16a
sub eax, esi
sar eax, 1
jns 0x40f202
cmp dword [esi - 0xc], ebx
jle 0x40f184
push 0x2f
push esi
call fcn.005ac2a3
add esp, 8
cmp eax, ebx
je 0x40f184
sub eax, esi
sar eax, 1
jns 0x40f202
push 0x6153b8
lea ecx, [esp + 0x1c]
call fcn.004024f0
mov ecx, dword [0x6152f8]
mov edx, dword [ecx + 0x20]
push ebx
lea eax, [esp + 0x1c]
push eax
push 0x2656
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
call fcn.00404540
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x120]
push ecx
push edx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
call fcn.0059b714
test eax, eax
jne 0x40f210
lea eax, [esp + 0x20]
push eax
jmp 0x40f207
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024f0
mov edx, dword [esp + 0x18]
push 1
push edx
mov ecx, ebp
call fcn.00413300
lea ecx, [esp + 0x18]
call fcn.00401f40
lea ecx, [esp + 0x34]
call fcn.00401f40
lea ecx, [esp + 0x20]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push 1
push 0
push esi
call fcn.0040dee0
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push 0
push 0
push esi
call fcn.0040dee0
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 1
push 0
push 0
push esi
call fcn.0040dee0
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 1
push 0
push esi
call fcn.0040de10
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push 0
push esi
call fcn.0040de10
jmp case.default.0x40e90f
lea ecx, [esp + 0x14]
call fcn.00402080
push 0xac
mov dword [esp + 0x35c], 0xc
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov byte [esp + 0x358], 0xd
je 0x40f355
mov ecx, dword [0x6152f8]
push ecx
mov ecx, eax
call fcn.00412af0
mov edi, eax
jmp 0x40f357
xor edi, edi
mov ecx, edi
mov byte [esp + 0x358], 0xc
call fcn.00412cf0
lea edx, [esp + 0x48]
push edx
add esi, 0x14
push esi
push 0x61537c
call fcn.00444bd0
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x14]
je 0x40f38a
add eax, 0x10
push eax
jmp 0x40f38b
push esi
call fcn.004024f0
mov eax, dword [esp + 0x14]
push 0
push eax
mov ecx, edi
call fcn.004135b0
lea ecx, [esp + 0x14]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
lea ecx, [esp + 0x18]
call fcn.00402080
lea ecx, [esp + 0x24]
mov dword [esp + 0x358], 0xe
call fcn.00402080
lea ecx, [esp + 0x3c]
call fcn.00402080
lea ecx, [esp + 0x20]
call fcn.00402080
lea ecx, [esp + 0x40]
push ecx
add esi, 0x14
push esi
push 0x61537c
mov byte [esp + 0x364], 0x11
call fcn.00444bd0
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x20]
je 0x40f412
add eax, 0x10
push eax
jmp 0x40f413
push esi
call fcn.004024f0
push 7
lea edx, [esp + 0x84]
push edx
lea ecx, [esp + 0x28]
call fcn.004035b0
mov eax, dword [eax]
push str.mailto:
push eax
call fcn.005ab553
add esp, 8
test eax, eax
lea ecx, [esp + 0x80]
sete bl
call fcn.00401f40
test bl, bl
je 0x40f499
push 7
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x28]
call fcn.00406b90
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x35c], 0x12
call fcn.004024f0
lea ecx, [esp + 0x78]
mov byte [esp + 0x358], 0x11
call fcn.00401f40
lea ecx, [esp + 0x3c]
push ecx
mov ecx, 0x61537c
mov esi, 1
call fcn.0043ce40
jmp 0x40f4bd
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x28]
call fcn.004024f0
push 0
lea eax, [esp + 0x40]
push eax
mov ecx, 0x61537c
mov esi, 3
call fcn.0043cf70
test eax, eax
je 0x40f71d
mov ecx, dword [esp + 0x3c]
push 0
push 0
push ecx
push 0x7da2
call fcn.00443770
add esp, 4
push eax
lea edx, [esp + 0x34]
push esi
push edx
call fcn.00417740
add esp, 0x18
test eax, eax
jne 0x40f533
lea ecx, [esp + 0x14]
call fcn.00402080
push 0
lea eax, [esp + 0x18]
push eax
push 0x7e72
mov ecx, 0x61537c
mov byte [esp + 0x364], 0x13
call fcn.00405220
mov ecx, dword [esp + 0x14]
push 0x40040
push 0
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0058276d
lea ecx, [esp + 0x14]
jmp 0x40f718
lea edx, [esp + 0x18]
push edx
call fcn.004437f0
mov eax, dword [0x615380]
add esp, 4
add eax, 4
push eax
lea ecx, [esp + 0x1c]
call fcn.00404540
push 0x5d9200
lea ecx, [esp + 0x1c]
call fcn.00404560
push str.Variables.awr
lea ecx, [esp + 0x1c]
call fcn.00404560
mov ecx, dword [esp + 0x24]
push 0
push esi
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, 0x61537c
call fcn.00404d80
test eax, eax
je 0x40f71d
lea ecx, [esp + 0x38]
call fcn.00402080
lea ecx, [esp + 0x2c]
call fcn.00402080
mov bl, 0x15
push str._TITLE_
lea ecx, [esp + 0x3c]
mov byte [esp + 0x35c], bl
call fcn.004021d0
mov ecx, dword [0x615380]
add ecx, 4
push ecx
lea ecx, [esp + 0x3c]
call fcn.00404540
push str.___DIR_
lea ecx, [esp + 0x3c]
call fcn.00407200
push 0x5c
lea ecx, [esp + 0x1c]
call fcn.00403020
add eax, 1
push eax
lea edx, [esp + 0x74]
push edx
lea ecx, [esp + 0x20]
call fcn.004035b0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x35c], 0x16
call fcn.00404540
lea ecx, [esp + 0x70]
mov byte [esp + 0x358], bl
call fcn.00401f40
push str.___SUBJECT_
lea ecx, [esp + 0x3c]
call fcn.00407200
push 0x7da2
call fcn.00443770
add esp, 4
push eax
lea ecx, [esp + 0x3c]
call fcn.00404560
push 0x5d9524
lea ecx, [esp + 0x3c]
call fcn.00407200
push 0x7da1
lea ecx, [esp + 0x30]
call fcn.00403aa0
mov eax, dword [0x615380]
add eax, 4
push eax
lea ecx, [esp + 0x30]
call fcn.00404540
push 0x7da2
call fcn.00443770
add esp, 4
push eax
lea ecx, [esp + 0x30]
call fcn.00404560
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
push 0
push ecx
push edx
mov ecx, 0x61537c
call fcn.00404800
lea ecx, [esp + 0x28]
call fcn.00402080
lea ecx, [esp + 0x14]
call fcn.00402080
push 1
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x360], 0x18
push 0x7d12
mov ecx, 0x61537c
call fcn.00405220
mov ecx, dword [0x61540c]
mov edx, dword [esp + 0x14]
push ecx
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x34]
add esp, 0xc
push 0x40040
push 0
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0058276d
lea ecx, [esp + 0x14]
call fcn.00401f40
lea ecx, [esp + 0x28]
call fcn.00401f40
lea ecx, [esp + 0x2c]
call fcn.00401f40
lea ecx, [esp + 0x38]
call fcn.00401f40
lea ecx, [esp + 0x20]
call fcn.00401f40
lea ecx, [esp + 0x3c]
call fcn.00401f40
lea ecx, [esp + 0x24]
call fcn.00401f40
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x40e90f
cmp dword [eax + 0x1c], 0
mov dword [esp + 0x28], 0
jle case.default.0x40e90f
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push edx
add ecx, 0x14
call fcn.00401700
mov edi, dword [eax]
test edi, edi
je 0x40f7e1
cmp dword [edi + 8], 0x424f5743
jne 0x40f7e1
cmp dword [edi + 0x54], 0xb
jne 0x40f7e1
mov eax, dword [edi + 0xcc]
cmp eax, 0x4f444152
je 0x40f7bc
cmp eax, 0x424b4843
je 0x40f7bc
cmp eax, 0x59544e45
je 0x40f7bc
cmp eax, 0x424d4f43
je 0x40f7bc
cmp eax, 0x5453494c
jne 0x40f7e1
mov ecx, dword [esp + 0x1c]
push 0
push edi
call fcn.0040d880
test eax, eax
je 0x40f863
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
jmp 0x40f863
cmp dword [edi + 8], 0x50524752
jne 0x40f863
xor ebp, ebp
cmp dword [edi + 0x1c], ebp
jle 0x40f863
lea ebx, [edi + 0x14]
push ebp
mov ecx, ebx
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x40f85b
cmp dword [eax + 8], 0x424f5743
jne 0x40f85b
cmp dword [eax + 0x54], 0xb
jne 0x40f85b
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x40f83f
cmp ecx, 0x424b4843
je 0x40f83f
cmp ecx, 0x59544e45
je 0x40f83f
cmp ecx, 0x424d4f43
je 0x40f83f
cmp ecx, 0x5453494c
jne 0x40f85b
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x40f85b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
add ebp, 1
cmp ebp, dword [edi + 0x1c]
jl 0x40f7f4
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
add eax, 1
cmp eax, dword [ecx + 0x1c]
mov dword [esp + 0x28], eax
jl 0x40f76e
jmp case.default.0x40e90f
cmp dword [esi + 0x10], 0
je case.default.0x40e90f
lea ecx, [esp + 0x18]
call fcn.00402080
mov esi, dword [esi + 0x10]
mov ecx, esi
mov dword [esp + 0x358], 0x19
call fcn.004231d0
mov edi, eax
test edi, edi
je 0x40f93f
lea ecx, [esp + 0x20]
call fcn.00402080
mov eax, dword [edi + 8]
cmp eax, 0x50524752
mov byte [esp + 0x358], 0x1a
jne 0x40f8d5
lea edx, [edi + 0xa4]
push edx
jmp 0x40f8e9
cmp eax, 0x424f5743
jne 0x40f8f2
cmp dword [edi + 0x54], 0xb
jne 0x40f8f2
lea eax, [edi + 0xf4]
push eax
lea ecx, [esp + 0x24]
call fcn.004024f0
mov ecx, dword [esp + 0x20]
cmp dword [ecx - 0xc], 0
jne 0x40f90a
push 0x7e7e
lea ecx, [esp + 0x24]
call fcn.00403aa0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
push 0x40040
push 0
push edx
mov ecx, esi
call fcn.0058276d
push 0
push edi
mov ecx, esi
call fcn.0040d880
test eax, eax
je 0x40f936
mov ecx, eax
call fcn.0058a800
lea ecx, [esp + 0x20]
jmp 0x40f733
mov eax, dword [esi + 0x8c]
test al, 1
jne 0x40f738
mov ecx, dword [esi + 0x84]
cmp dword [ecx - 0xc], 0
lea ebp, [esi + 0x84]
je 0x40f738
test al, 2
push 0x61537c
je 0x40f98f
test al, al
mov ecx, esi
jns 0x40f97e
lea edx, [esp + 0x1c]
mov edi, 2
push edx
jmp 0x40f9a3
lea eax, [esp + 0x1c]
push eax
mov edi, 1
call fcn.004239a0
jmp 0x40f9a8
and al, 0x40
neg al
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
sbb eax, eax
neg eax
add eax, 3
mov edi, eax
call fcn.00423c60
test eax, eax
je 0x40fd0b
xor ebx, ebx
test byte [esi + 0x8c], 0x10
mov dword [esp + 0x44], ebx
mov dword [esp + 0x30], ebx
je 0x40f9de
push 0x2002
call fcn.0057df22
add esp, 4
mov ebx, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], 0x1001
lea ecx, [esp + 0x20]
call fcn.00402080
lea ecx, [esp + 0x3c]
call fcn.00402080
lea edx, [esp + 0x34]
push edx
push ebp
push 0x61537c
mov byte [esp + 0x364], 0x1c
call fcn.00444bd0
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x20]
je 0x40fa19
add eax, 0x10
push eax
jmp 0x40fa1a
push ebp
call fcn.004024f0
lea eax, [esp + 0x34]
push eax
lea ebp, [esi + 0x88]
push ebp
push 0x61537c
call fcn.00444bd0
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x3c]
je 0x40fa46
add eax, 0x10
push eax
jmp 0x40fa47
push ebp
call fcn.004024f0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x30]
push ecx
push ebx
push edx
push eax
lea ecx, [esp + 0x30]
push edi
push ecx
call fcn.00417740
add esp, 0x18
test eax, eax
jne 0x40fada
test byte [esi + 0x8c], 0x10
je 0x40fa88
mov ecx, dword [esi + 0xb8]
test ecx, ecx
je 0x40fa88
push esi
push ebx
call fcn.004451e0
test byte [esi + 0x8c], 0x20
je 0x40fcec
lea ecx, [esp + 0x28]
call fcn.00402080
push 0
lea edx, [esp + 0x2c]
push edx
push 0x7e72
mov ecx, 0x61537c
mov byte [esp + 0x364], 0x1d
call fcn.00405220
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
push 0x40040
push 0
push eax
call fcn.0058276d
lea ecx, [esp + 0x28]
jmp 0x40fce7
lea ecx, [esp + 0x24]
call fcn.00402080
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x35c], 0x1e
call fcn.004437f0
mov edx, dword [0x615380]
add esp, 4
add edx, 4
push edx
lea ecx, [esp + 0x28]
call fcn.00404540
push 0x5d9200
lea ecx, [esp + 0x28]
call fcn.00404560
add esi, 4
push esi
lea ecx, [esp + 0x28]
call fcn.00404540
push str..awr
lea ecx, [esp + 0x28]
call fcn.00404560
mov eax, dword [esp + 0x20]
push 0
push edi
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, 0x61537c
call fcn.00404d80
test eax, eax
je 0x40fce3
lea ecx, [esp + 0x38]
call fcn.00402080
lea ecx, [esp + 0x2c]
call fcn.00402080
mov bl, 0x20
push str._TITLE_
lea ecx, [esp + 0x3c]
mov byte [esp + 0x35c], bl
call fcn.004021d0
mov eax, dword [0x615380]
add eax, 4
push eax
lea ecx, [esp + 0x3c]
call fcn.00404540
push str.___DIR_
lea ecx, [esp + 0x3c]
call fcn.00407200
push 0x5c
lea ecx, [esp + 0x28]
call fcn.00403020
add eax, 1
push eax
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x2c]
call fcn.004035b0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x35c], 0x21
call fcn.00404540
lea ecx, [esp + 0x9c]
mov byte [esp + 0x358], bl
call fcn.00401f40
push str.___SUBJECT_
lea ecx, [esp + 0x3c]
call fcn.00407200
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x3c]
call fcn.00404540
push 0x5d9524
lea ecx, [esp + 0x3c]
call fcn.00407200
push 0x7da1
lea ecx, [esp + 0x30]
call fcn.00403aa0
mov eax, dword [0x615380]
add eax, 4
push eax
lea ecx, [esp + 0x30]
call fcn.00404540
push 0x7da2
call fcn.00443770
add esp, 4
push eax
lea ecx, [esp + 0x30]
call fcn.00404560
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
push 0
push ecx
push edx
mov ecx, 0x61537c
call fcn.00404800
lea ecx, [esp + 0x14]
call fcn.00402080
lea ecx, [esp + 0x28]
call fcn.00402080
push 1
lea eax, [esp + 0x2c]
push eax
push 0x7d12
mov ecx, 0x61537c
mov byte [esp + 0x364], 0x23
call fcn.00405220
mov ecx, dword [0x61540c]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00403ad0
mov ecx, dword [esp + 0x20]
add esp, 0xc
push 0x40040
push 0
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0058276d
lea ecx, [esp + 0x28]
call fcn.00401f40
lea ecx, [esp + 0x14]
call fcn.00401f40
lea ecx, [esp + 0x2c]
call fcn.00401f40
lea ecx, [esp + 0x38]
call fcn.00401f40
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x24]
call fcn.00401f40
test ebx, ebx
je 0x40fcf9
push ebx
call fcn.0057df27
add esp, 4
lea ecx, [esp + 0x3c]
call fcn.00401f40
lea ecx, [esp + 0x20]
call fcn.00401f40
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x74]
push edx
mov dword [esp + 0x38], 1
xor ebx, ebx
call fcn.0042d330
mov esi, eax
add esp, 4
test esi, esi
je case.default.0x40e90f
mov ecx, esi
call fcn.004353c0
cmp dword [edi + 0x74], eax
mov dword [esp + 0x40], eax
jne 0x40fe8c
test byte [eax + 0x158], 1
je 0x40fdd1
push 0x84
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x358], 0x24
je 0x40fd90
mov ecx, eax
call fcn.00402310
mov edi, eax
jmp 0x40fd92
xor edi, edi
push 0xc
mov dword [esp + 0x35c], 0xffffffff
mov dword [edi + 4], 7
call fcn.0057def7
mov edx, dword [esp + 0x28]
add esp, 4
push edx
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [ebp + 8]
push eax
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
push 0x263d
call fcn.0040d500
cmp dword [esi + 0x164], 0
je 0x40fde5
push 0
mov ecx, esi
call fcn.004350b0
mov ebx, eax
push 0x84
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x358], 0x25
je 0x40fe10
mov ecx, eax
call fcn.00402310
mov edi, eax
jmp 0x40fe12
xor edi, edi
cmp dword [esi + 0x164], 0
mov dword [esp + 0x358], 0xffffffff
je 0x40fe3a
test ebx, ebx
jl 0x40fe3a
cmp ebx, dword [esi + 0x290]
jge 0x40fe3a
add esi, 0x1f4
jmp 0x40fe40
add esi, 0x170
push esi
mov ecx, edi
call fcn.00402860
push 0xc
mov dword [edi + 0x5c], 1
call fcn.0057def7
mov esi, eax
mov dword [esi], edi
mov dword [esi + 4], 0
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
mov ecx, dword [0x615468]
add esp, 4
call fcn.0040d310
mov ecx, dword [0x615468]
push eax
push esi
push 0x263d
call fcn.0040d500
jmp case.default.0x40e90f
lea ecx, [esp + 0x18]
call fcn.00402080
lea ecx, [esp + 0x2c]
mov dword [esp + 0x358], 0x26
call fcn.00402080
lea ecx, [esp + 0x48]
push ecx
lea edi, [esi + 0x158]
push edi
push 0x61537c
mov byte [esp + 0x364], 0x27
call fcn.00444bd0
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x18]
je 0x40fed8
add eax, 0x10
push eax
jmp 0x40fed9
push edi
call fcn.004024f0
lea edx, [esp + 0x48]
push edx
lea edi, [esi + 0x15c]
push edi
push 0x61537c
call fcn.00444bd0
add esp, 0xc
test eax, eax
lea ecx, [esp + 0x2c]
je 0x40ff05
add eax, 0x10
push eax
jmp 0x40ff06
push edi
call fcn.004024f0
cmp dword [esi + 0x288], 0
je 0x40ff55
xor edi, edi
cmp dword [esi + 0x1c], edi
jle 0x40ff55
lea ebx, [esi + 0x14]
mov ebp, 0x424f5743
push edi
mov ecx, ebx
call fcn.00401700
mov eax, dword [eax]
cmp dword [eax + 8], ebp
jne 0x40ff4d
cmp dword [eax + 0x54], 0xc
jne 0x40ff4d
mov ecx, dword [esp + 0x24]
push eax
call fcn.0045f2f0
test eax, eax
je 0x40ff4d
mov ecx, eax
call fcn.00467000
add edi, 1
cmp edi, dword [esi + 0x1c]
jl 0x40ff23
cmp dword [esi + 0x284], 0
je 0x410040
mov eax, dword [esp + 0x24]
xor edi, edi
cmp dword [eax + 0x9c], edi
jle 0x40fff3
mov ebx, eax
lea ebp, [ebx + 0x94]
lea esp, [esp]
push edi
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
mov ecx, dword [eax + 0xa8]
mov edx, dword [ecx + 0x10]
cmp dword [edx - 0xc], 0
je 0x40ffa6
add edi, 1
cmp edi, dword [ebx + 0x9c]
jl 0x40ff80
jmp 0x40fff3
lea ecx, [esp + 0x28]
call fcn.00402080
push 0
lea eax, [esp + 0x2c]
push eax
push 0x7d29
mov ecx, 0x61537c
mov byte [esp + 0x364], 0x28
call fcn.00405220
mov ecx, dword [esp + 0x28]
push 0x40010
push 0
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0058276d
lea ecx, [esp + 0x28]
mov byte [esp + 0x358], 0x27
call fcn.00401f40
mov edx, dword [esp + 0x24]
cmp edi, dword [edx + 0x9c]
jge 0x410040
mov ecx, dword [0x61546c]
test ecx, ecx
je 0x410020
mov ecx, dword [ecx + 0x20]
mov eax, edx
mov eax, dword [eax + 0x74]
push 0
push eax
push 0x2640
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x74]
mov ecx, dword [esp + 0x1c]
push 1
push 1
push 1
push eax
call fcn.0040e330
lea ecx, [esp + 0x2c]
jmp 0x40f733
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x9c], 0
je 0x410082
add edi, 0x94
cmp dword [edi + 8], 0
jle 0x41219b
mov eax, dword [edi + 4]
mov eax, dword [eax]
mov ebx, dword [esp + 0x24]
push eax
mov ecx, ebx
call fcn.00460f60
push 1
push 0
mov ecx, edi
call fcn.0058e891
cmp dword [ebx + 0x9c], 0
jne 0x410053
cmp dword [esi + 0x164], 0
je 0x41009a
push 0
mov ecx, esi
call fcn.004350b0
mov dword [esp + 0x30], eax
jmp 0x4100a2
mov dword [esp + 0x30], 0
mov eax, dword [esi + 4]
push str._Score
push esi
push eax
mov ecx, 0x61537c
call fcn.0043b9d0
mov edi, eax
test edi, edi
je 0x4101f1
lea ecx, [esp + 0x20]
call fcn.00402080
mov eax, dword [esp + 0x30]
test eax, eax
mov byte [esp + 0x358], 0x29
lea ecx, [esp + 0x20]
jl 0x4100ee
push eax
push 0x5d8a24
push ecx
call fcn.00403ad0
add esp, 0xc
jmp 0x4100f8
push 0x7dea
call fcn.00403aa0
mov edx, dword [esp + 0x20]
push esi
push edx
mov ecx, edi
call fcn.004451e0
cmp dword [0x615428], 1
jne 0x410121
cmp dword [0x6153c8], 2
jne 0x410121
mov ecx, 0x61537c
call fcn.00403af0
cmp dword [esi + 0x1c], 0
mov dword [esp + 0x28], 0
jle 0x4101e8
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esi + 0x14]
call fcn.00401700
mov ebx, dword [eax]
cmp dword [ebx + 8], 0x43455354
jne 0x4101d4
xor ebp, ebp
cmp dword [0x6153a0], ebp
jle 0x4101d4
lea esp, [esp]
push ebp
mov ecx, 0x615398
call fcn.00401700
mov edi, dword [eax]
test dword [edi + 0x14], 0x10000
je 0x41017e
mov ecx, dword [edi + 0x1c]
cmp ecx, dword [ebx + 0xc]
je 0x41018b
add ebp, 1
cmp ebp, dword [0x6153a0]
jl 0x410160
jmp 0x4101d4
cmp dword [esi + 0x164], 0
je 0x4101b5
push ebx
mov ecx, esi
call fcn.004350b0
test eax, eax
jl 0x4101b9
push eax
lea edx, [esp + 0x24]
push 0x5d8a24
push edx
call fcn.00403ad0
add esp, 0xc
jmp 0x4101c7
xor eax, eax
jmp 0x4101a0
push 0x7dea
lea ecx, [esp + 0x24]
call fcn.00403aa0
mov eax, dword [esp + 0x20]
push esi
push eax
mov ecx, edi
call fcn.004451e0
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
jl 0x410133
lea ecx, [esp + 0x20]
call fcn.00401f40
lea ecx, [esp + 0x38]
call fcn.00402080
test byte [esi + 0x298], 2
mov byte [esp + 0x358], 0x2a
je 0x41025b
cmp dword [esi + 0x288], 0
jle 0x41025b
lea ecx, [esp + 0x28]
call fcn.00402080
lea ecx, [esp + 0x28]
push 0x7d2a
push ecx
mov byte [esp + 0x360], 0x2b
call fcn.0040cbc0
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
add esp, 8
push 0x50040
push eax
push edx
call fcn.0058276d
lea ecx, [esp + 0x28]
xor edi, edi
call fcn.00401f40
jmp 0x41026a
push esi
mov ecx, 0x6152d8
call fcn.0040a180
mov edi, dword [esp + 0x34]
mov edx, 2
or dword [esi + 0x298], edx
test edi, edi
mov eax, dword [esi + 0x298]
je 0x410787
mov ecx, dword [esi + 0x160]
cmp ecx, 1
jne 0x4102a8
cmp dword [esi + 0x278], 0
jne 0x41029d
mov dword [esp + 0x14], ecx
jmp 0x4102b7
cmp ecx, 1
jne 0x4102a8
mov dword [esp + 0x14], edx
jmp 0x4102b7
and al, 8
neg al
sbb eax, eax
neg eax
add eax, 3
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x288]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
mov edi, ecx
sub edi, dword [esi + 0x2c8]
lea ecx, [esp + 0x3c]
call fcn.00402080
mov eax, dword [esi + 0x160]
test eax, eax
mov byte [esp + 0x358], 0x2c
mov ebp, 1
je 0x410331
mov edx, dword [esp + 0x18]
cmp dword [edx - 0xc], 0
je 0x410331
cmp eax, ebp
jne 0x41031d
cmp dword [esi + 0x278], 0
jne 0x41031d
push 0
push 0x61537c
push edi
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.00435e90
jmp 0x41032f
push 0x61537c
push edi
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.00437880
mov ebp, eax
cmp dword [esi + 0x16c], 0xa
jne 0x4103ae
lea ecx, [esp + 0x28]
call fcn.00402080
push 1
push 0x61537c
push edi
lea edx, [esp + 0x34]
mov bl, 0x2d
push edx
mov ecx, esi
mov byte [esp + 0x368], bl
call fcn.00435e90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0xb0]
call fcn.004326c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x358], 0x2e
call fcn.00580db0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x358], bl
call fcn.00580656
lea ecx, [esp + 0x28]
mov byte [esp + 0x358], 0x2c
call fcn.00401f40
xor edi, edi
cmp ebp, edi
je 0x41077e
cmp dword [esi + 0x160], edi
je 0x410696
mov edx, dword [esp + 0x18]
cmp dword [edx - 0xc], edi
je 0x410696
test byte [esi + 0x298], 0x10
mov dword [esp + 0x34], edi
je 0x4103f5
push 0x2002
call fcn.0057df22
add esp, 4
mov edi, eax
mov dword [esp + 0x34], 0x1001
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x28]
push ebx
push eax
call fcn.00417740
add esp, 0x18
test eax, eax
jne 0x410487
test byte [esi + 0x298], 0x10
je 0x410435
mov ecx, dword [esi + 0x29c]
test ecx, ecx
je 0x410435
push esi
push edi
call fcn.004451e0
test byte [esi + 0x298], 0x20
je 0x410689
lea ecx, [esp + 0x28]
call fcn.00402080
push 0
lea ecx, [esp + 0x2c]
push ecx
push 0x7e72
mov ecx, 0x61537c
mov byte [esp + 0x364], 0x2f
call fcn.00405220
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
push 0x40040
push 0
push edx
call fcn.0058276d
lea ecx, [esp + 0x28]
jmp 0x41067c
lea eax, [esp + 0x38]
push eax
call fcn.004437f0
mov ecx, dword [0x615380]
add ecx, 4
add esp, 4
push ecx
lea ecx, [esp + 0x3c]
call fcn.00404540
push 0x5d9200
lea ecx, [esp + 0x3c]
call fcn.00404560
lea eax, [esi + 4]
push eax
lea ecx, [esp + 0x3c]
call fcn.00404540
push str..awr
lea ecx, [esp + 0x3c]
call fcn.00404560
mov edx, dword [esp + 0x18]
push 0
push ebx
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, 0x61537c
call fcn.00404d80
mov ebp, eax
test ebp, ebp
je 0x410689
lea ecx, [esp + 0x20]
call fcn.00402080
lea ecx, [esp + 0x14]
call fcn.00402080
mov bl, 0x31
push str._TITLE_
lea ecx, [esp + 0x24]
mov byte [esp + 0x35c], bl
call fcn.004021d0
mov edx, dword [0x615380]
add edx, 4
push edx
lea ecx, [esp + 0x24]
call fcn.00404540
push str.___DIR_
lea ecx, [esp + 0x24]
call fcn.00407200
push 0x5c
lea ecx, [esp + 0x3c]
call fcn.00403020
add eax, 1
push eax
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x40]
call fcn.004035b0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x35c], 0x32
call fcn.00404540
lea ecx, [esp + 0xa0]
mov byte [esp + 0x358], bl
call fcn.00401f40
push str.___SUBJECT_
lea ecx, [esp + 0x24]
call fcn.00407200
lea eax, [esi + 0x15c]
push eax
lea ecx, [esp + 0x24]
call fcn.00404540
push 0x5d9524
lea ecx, [esp + 0x24]
call fcn.00407200
push 0x7da1
lea ecx, [esp + 0x18]
call fcn.00403aa0
mov ecx, dword [0x615380]
add ecx, 4
push ecx
lea ecx, [esp + 0x18]
call fcn.00404540
push 0x7de9
call fcn.00443770
add esp, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00404560
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push 0
push edx
push eax
mov ecx, 0x61537c
call fcn.00404800
lea ecx, [esp + 0x44]
call fcn.00402080
lea ecx, [esp + 0x28]
call fcn.00402080
push 1
lea ecx, [esp + 0x2c]
push ecx
push 0x7d12
mov ecx, 0x61537c
mov byte [esp + 0x364], 0x34
call fcn.00405220
mov edx, dword [0x61540c]
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.00403ad0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
add esp, 0xc
push 0x40040
push 0
push edx
call fcn.0058276d
lea ecx, [esp + 0x28]
call fcn.00401f40
lea ecx, [esp + 0x44]
call fcn.00401f40
lea ecx, [esp + 0x14]
call fcn.00401f40
lea ecx, [esp + 0x20]
mov byte [esp + 0x358], 0x2c
call fcn.00401f40
test edi, edi
je 0x410696
push edi
call fcn.0057df27
add esp, 4
xor ebx, ebx
cmp ebp, ebx
je 0x41077e
cmp dword [esi + 0x16c], ebx
je 0x41077e
mov edi, dword [esp + 0x40]
cmp edi, ebx
je 0x41077e
push 0x84
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, ebx
mov byte [esp + 0x358], 0x35
je 0x4106e0
mov ecx, eax
call fcn.00402310
mov esi, eax
jmp 0x4106e2
xor esi, esi
mov eax, 1
mov dword [esi + 4], ebx
mov dword [esi + 8], 6
mov dword [esi + 0x10], edi
mov dword [esi + 0x5c], eax
test byte [edi + 0x158], al
mov byte [esp + 0x358], 0x2c
je 0x410736
mov dword [esi + 0x64], eax
mov eax, dword [edi + 0x58]
mov dword [esi + 0x6c], eax
mov ecx, dword [edi + 0x5c]
push 0x7dbb
mov dword [esi + 0x70], ecx
call fcn.00443770
add esp, 4
push eax
lea ecx, [esi + 0x68]
call fcn.00403db0
mov dword [esi + 0x80], 0x6a
push 0xc
call fcn.0057def7
mov edx, dword [esp + 0x5c]
add esp, 4
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
push edx
push eax
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
push 0x263d
call fcn.0040d500
lea ecx, [esp + 0x3c]
call fcn.00401f40
lea ecx, [esp + 0x38]
call fcn.00401f40
lea ecx, [esp + 0x2c]
jmp 0x40f733
lea ecx, [esp + 0x3c]
call fcn.00401f40
lea ecx, [esp + 0x38]
call fcn.00401f40
lea ecx, [esp + 0x2c]
call fcn.00401f40
or ebx, 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x358], ebx
call fcn.00401f40
push 0x84
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x358], 0x36
je 0x4107d7
mov ecx, eax
call fcn.00402310
mov edi, eax
jmp 0x4107d9
xor edi, edi
cmp dword [esi + 0x164], 0
mov dword [esp + 0x358], ebx
je 0x410801
mov eax, dword [esp + 0x30]
test eax, eax
jl 0x410801
cmp eax, dword [esi + 0x290]
jge 0x410801
add esi, 0x1f4
jmp 0x410807
add esi, 0x170
push esi
mov ecx, edi
call fcn.00402860
push 0xc
mov dword [edi + 0x5c], 1
call fcn.0057def7
mov ecx, dword [esp + 0x5c]
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], 0
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x20]
push eax
push 0x263d
mov dword [eax + 8], edx
call fcn.0040d500
jmp case.default.0x40e90f
mov edx, dword [ebx + 0x74]
push edx
call fcn.0042d330
mov edi, eax
add esp, 4
test edi, edi
je case.default.0x40e90f
push 0x84
call fcn.0057def7
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x358], 0x37
je 0x41088d
mov ecx, eax
call fcn.00402310
mov esi, eax
jmp 0x41088f
xor esi, esi
add edi, 0x1f4
push edi
mov ecx, esi
mov dword [esp + 0x35c], 0xffffffff
call fcn.00402860
push 0xc
mov dword [esi + 0x5c], 1
call fcn.0057def7
add esp, 4
push ebx
mov dword [eax], esi
mov dword [eax + 4], 0
mov ecx, dword [ebp + 8]
push eax
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
push 0x263d
call fcn.0040d500
jmp case.default.0x40e90f
lea edx, [esi + 0x14]
push edx
lea ecx, [esp + 0x30]
xor ebp, ebp
xor edi, edi
call fcn.00403190
mov ebx, 0x100
test dword [esi + 0x80], ebx
mov dword [esp + 0x358], 0x38
je 0x410975
mov eax, dword [esi + 0x18]
cmp eax, ebp
je 0x41098e
cmp eax, 0xffffffff
je 0x41098e
add eax, 0x10
push eax
lea ecx, [esp + 0x30]
call fcn.004024f0
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x120]
push eax
push ecx
mov dword [esp + 0x128], ebp
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x138], ebp
mov dword [esp + 0x13c], ebp
call fcn.0059b714
test eax, eax
jne 0x41098e
mov eax, dword [esi + 0x18]
add eax, 0x14
push eax
lea ecx, [esp + 0x30]
call fcn.004024f0
jmp 0x41098e
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x30]
push eax
push 0x61537c
call fcn.00444bd0
add esp, 0xc
mov edi, eax
lea ecx, [esp + 0x20]
call fcn.00402080
lea ecx, [esp + 0x18]
call fcn.00402080
cmp edi, ebp
mov byte [esp + 0x358], 0x3a
je 0x4109b2
add edi, 0x10
push edi
jmp 0x4109b7
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024f0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
cmp ecx, ebp
jge 0x4109d5
push 0x80070057
call fcn.00401a10
movzx edx, word [eax]
cmp dx, 0x5c
je 0x410a45
cmp ecx, 1
jge 0x4109ed
push 0x80070057
call fcn.00401a10
movzx eax, word [eax + 2]
cmp ax, 0x3a
je 0x410a45
push 0x6153b8
lea ecx, [esp + 0x24]
call fcn.004024f0
test dword [esi + 0x80], ebx
je 0x410a27
mov eax, dword [0x6152f8]
mov ecx, dword [eax + 0x20]
push ebp
lea edx, [esp + 0x24]
push edx
push 0x2656
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x5d957c
lea ecx, [esp + 0x24]
call fcn.00407200
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x24]
call fcn.00404540
jmp 0x410a53
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.004024f0
mov ecx, dword [esp + 0x20]
push 1
push ebp
push ebp
push ecx
push ebp
push ebp
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x410ab8
lea ecx, [esp + 0x14]
call fcn.00402080
push 0x7d14
lea ecx, [esp + 0x18]
mov byte [esp + 0x35c], 0x3b
call fcn.00403aa0
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
call fcn.00404540
mov eax, dword [0x61540c]
mov ecx, dword [esp + 0x14]
push 0x50010
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0058276d
lea ecx, [esp + 0x14]
call fcn.00401f40
lea ecx, [esp + 0x18]
call fcn.00401f40
lea ecx, [esp + 0x20]
call fcn.00401f40
lea ecx, [esp + 0x2c]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
test ebx, ebx
je 0x410b17
mov ecx, ebx
call fcn.0045e610
test eax, eax
je 0x410b17
test byte [esi + 0x80], 8
jne 0x410b17
push 0
push 0
push 0
mov ecx, ebx
call fcn.00463580
mov ecx, ebx
call fcn.0045e5f0
test eax, eax
jne case.default.0x40e90f
cmp dword [0x61542c], 0
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
je 0x410b40
mov edx, dword [0x6152f8]
mov eax, dword [edx + 0x20]
push 0
push 0x40b
push 0x111
push eax
call esi
jmp 0x410b5c
cmp dword [0x615428], 1
jne 0x410b5c
cmp dword [0x6153c8], 2
jne 0x410b5c
mov ecx, 0x61537c
call fcn.00402f30
mov ecx, dword [esp + 0x1c]
cmp dword [0x615468], ecx
jne 0x410b7f
mov edx, dword [0x6152f8]
mov eax, dword [edx + 0x20]
push 0
push 0
push 0x10
push eax
call esi
jmp case.default.0x40e90f
call fcn.00584446
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push 0
push 1
push esi
call fcn.0040dee0
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push 1
push esi
call fcn.0040de10
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push esi
call fcn.00412280
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
cmp esi, 0xffffffff
je case.default.0x40e90f
cmp dword [esi + 8], 0x424f5743
jne case.default.0x40e90f
cmp dword [esi + 0x54], edx
jne case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push esi
call fcn.0040d880
test eax, eax
je case.default.0x40e90f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1b0]
call eax
jmp case.default.0x40e90f
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x40e90f
cmp eax, 0xffffffff
je case.default.0x40e90f
cmp dword [eax + 8], 0x424f5743
jne case.default.0x40e90f
cmp dword [eax + 0x54], edx
jne case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
mov ebp, eax
test ebp, ebp
je case.default.0x40e90f
push 1
lea edi, [esi + 0x1c]
push edi
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x410cbe
mov ecx, dword [edi]
mov eax, dword [ecx + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
mov dword [esi + 0x44], eax
jmp 0x410cf2
mov edx, dword [esi + 0x54]
cmp dword [edx - 0xc], 0
lea eax, [esi + 0x54]
je 0x410cf2
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00445950
mov eax, dword [eax]
push eax
call fcn.005ab5f5
add esp, 0xc
lea ecx, [esp + 0x98]
mov dword [esi + 0x44], eax
call fcn.00401f40
mov edx, dword [ebp]
mov eax, dword [esi + 0x44]
mov edx, dword [edx + 0x1b4]
push eax
mov ecx, ebp
call edx
jmp case.default.0x40e90f
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x40e90f
cmp eax, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esi + 0x54]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x54]
je 0x410d50
push eax
lea edx, [esp + 0x8c]
push edx
call fcn.00445950
mov eax, dword [eax]
push eax
call fcn.005ab5f5
add esp, 0xc
lea ecx, [esp + 0x88]
mov dword [esi + 0x44], eax
call fcn.00401f40
mov ecx, dword [esi + 0x58]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x58]
je 0x410d84
push eax
lea edx, [esp + 0xa8]
push edx
call fcn.00445950
mov eax, dword [eax]
push eax
call fcn.005ab5f5
add esp, 0xc
lea ecx, [esp + 0xa4]
mov dword [esi + 0x48], eax
call fcn.00401f40
mov ebp, dword [esi + 0x10]
mov eax, dword [ebp + 8]
cmp eax, 0x424f5743
mov dword [esp + 0x2c], ebp
jne 0x410ea2
test ebp, ebp
je case.default.0x40e90f
mov ebx, 1
push ebx
lea edi, [esi + 0x1c]
push edi
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x410dcf
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
mov dword [ebp + 0xa4], eax
jmp 0x410dd8
mov ecx, dword [esi + 0x44]
mov dword [ebp + 0xa4], ecx
mov edx, dword [esi + 0x40]
push ebx
lea eax, [esp + 0x38]
push eax
mov ecx, 0x61537c
mov dword [esp + 0x3c], edx
call fcn.0043b960
test eax, eax
je 0x410e0b
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
mov dword [ebp + 0xa8], eax
jmp 0x410e14
mov edx, dword [esi + 0x48]
mov dword [ebp + 0xa8], edx
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
mov esi, eax
test esi, esi
je case.default.0x40e90f
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x48]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x48]
push eax
push edi
mov ecx, esi
call fcn.0040d550
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esi + 0x54], ebx
call fcn.00461f70
mov edx, dword [ebp + 0xa8]
mov eax, dword [ebp + 0xa4]
push 5
push 0
push 0
push edx
push eax
push 0
mov ecx, esi
call fcn.0058a9ae
push ebx
mov dword [ebp + 0xb4], ebx
mov ecx, dword [esi + 0x20]
push 0
push ecx
mov dword [esi + 0x54], 0
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [edi + 0x20]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp case.default.0x40e90f
cmp eax, 0x5052474f
jne case.default.0x40e90f
test ebp, ebp
je case.default.0x40e90f
mov eax, dword [esp + 0x2c]
xor edi, edi
xor ebp, ebp
xor ebx, ebx
cmp dword [eax + 0x1c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], edi
jle 0x410f1b
lea esp, [esp]
mov ecx, dword [esp + 0x2c]
push edi
add ecx, 0x14
call fcn.00401700
mov eax, dword [eax]
push 0
lea ecx, [esp + 0x4c]
push ecx
mov ecx, eax
call fcn.0041d370
test edi, edi
jne 0x410efb
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
jmp 0x410f0f
mov eax, dword [esp + 0x48]
cmp ebp, eax
jle 0x410f05
mov ebp, eax
mov eax, dword [esp + 0x4c]
cmp ebx, eax
jle 0x410f0f
mov ebx, eax
mov edx, dword [esp + 0x2c]
add edi, 1
cmp edi, dword [edx + 0x1c]
jl 0x410ed0
push 1
lea edi, [esi + 0x1c]
push edi
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x410f40
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
mov dword [esi + 0x44], eax
mov ecx, dword [esi + 0x40]
mov edi, 1
push edi
lea edx, [esp + 0x38]
mov dword [esp + 0x38], ecx
push edx
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x410f73
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x44]
mov eax, ebp
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp ebp, ecx
mov dword [esp + 0x44], eax
jle 0x410f8b
mov dword [esp + 0x30], edi
mov esi, dword [esi + 0x48]
mov eax, ebx
sub eax, esi
cdq
xor eax, edx
sub eax, edx
cmp ebx, esi
mov dword [esp + 0x14], eax
jle 0x410fa3
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x2c]
xor ebp, ebp
cmp dword [ecx + 0x1c], ebp
jle case.default.0x40e90f
mov ebx, dword [esp + 0x24]
mov edx, ecx
add edx, 0x14
mov dword [esp + 0x40], edx
nop
mov ecx, dword [esp + 0x40]
push ebp
call fcn.00401700
mov edi, dword [eax]
cmp dword [edi + 8], 0x424f5743
jne 0x4110bc
push 0
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.0041d370
cmp dword [esp + 0x30], 0
je 0x410ffe
mov ecx, dword [esp + 0x48]
sub ecx, dword [esp + 0x44]
mov dword [edi + 0xa4], ecx
jmp 0x41100e
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add edx, eax
mov dword [edi + 0xa4], edx
cmp dword [esp + 0x28], 0
je 0x411025
mov ecx, dword [esp + 0x4c]
sub ecx, dword [esp + 0x14]
mov dword [edi + 0xa8], ecx
jmp 0x411035
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
add edx, eax
mov dword [edi + 0xa8], edx
mov ecx, dword [esp + 0x1c]
push 0
push edi
call fcn.0040d880
mov esi, eax
test esi, esi
je 0x4110bc
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x5c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [esp + 0x5c]
push eax
push ebx
mov ecx, esi
call fcn.0040d550
push 5
push 0
mov dword [esi + 0x54], 1
mov ecx, dword [edi + 0xa8]
mov edx, dword [edi + 0xa4]
push 0
push ecx
push edx
push 0
mov ecx, esi
call fcn.0058a9ae
lea eax, [esp + 0x5c]
push eax
mov ecx, ebx
mov dword [edi + 0xb4], 1
call fcn.00461f70
mov ecx, dword [esi + 0x20]
push 1
push 0
push ecx
mov dword [esi + 0x54], 0
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [ebx + 0x20]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [esp + 0x2c]
add ebp, 1
cmp ebp, dword [eax + 0x1c]
jl 0x410fc0
jmp case.default.0x40e90f
mov edi, dword [esi + 0x10]
test edi, edi
je case.default.0x40e90f
cmp edi, 0xffffffff
je case.default.0x40e90f
cmp dword [edi + 8], 0x424f5743
jne case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push edi
call fcn.0040d880
test edi, edi
mov ebx, eax
je case.default.0x40e90f
test ebx, ebx
je case.default.0x40e90f
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0x48]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
test dword [esi + 0x80], 0x200
lea ebp, [esi + 0x1c]
push 1
mov ecx, 0x61537c
push ebp
je 0x4111c1
call fcn.0043b960
test eax, eax
je 0x41114c
mov eax, dword [ebp]
mov eax, dword [eax + 0x10]
push eax
jmp 0x41118c
add esi, 0x14
push esi
mov ecx, 0x61537c
call fcn.0043cc40
test eax, eax
je 0x411189
lea ecx, [esp + 0x90]
push esi
push ecx
call fcn.00445950
mov eax, dword [eax]
push eax
call fcn.005ab5f5
add esp, 0xc
lea ecx, [esp + 0x90]
mov dword [esp + 0x30], eax
call fcn.00401f40
jmp 0x411198
mov esi, dword [esi]
push esi
call fcn.005ab5f5
mov dword [esp + 0x34], eax
add esp, 4
fild dword [esp + 0x30]
fdiv qword [0x5d9510]
fild dword [esp + 0x50]
fmul st(1)
call fcn.005ac350
fimul dword [esp + 0x54]
mov dword [edi + 0xac], eax
call fcn.005ac350
jmp 0x41127e
call fcn.0043b960
test eax, eax
je 0x4111db
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
jmp 0x411211
mov ecx, dword [esi + 0x54]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x54]
je 0x41120e
push eax
lea edx, [esp + 0x78]
push edx
call fcn.00445950
mov eax, dword [eax]
push eax
call fcn.005ab5f5
add esp, 0xc
lea ecx, [esp + 0x74]
mov dword [edi + 0xac], eax
call fcn.00401f40
jmp 0x411217
mov eax, dword [esi + 0x44]
mov dword [edi + 0xac], eax
mov ecx, dword [esi + 0x40]
push 1
lea edx, [esp + 0x38]
mov dword [esp + 0x38], ecx
push edx
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x411245
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x10]
push eax
call fcn.005ab5f5
add esp, 4
jmp 0x41127e
mov ecx, dword [esi + 0x58]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x58]
je 0x41127b
push eax
lea edx, [esp + 0x80]
push edx
call fcn.00445950
mov eax, dword [eax]
push eax
call fcn.005ab5f5
add esp, 0xc
lea ecx, [esp + 0x7c]
mov dword [edi + 0xb0], eax
call fcn.00401f40
jmp 0x411284
mov eax, dword [esi + 0x48]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0xac]
cmp dword [esp + 0x50], eax
jl 0x41129c
mov ecx, dword [esp + 0x54]
cmp ecx, dword [edi + 0xb0]
jge 0x4112aa
mov edx, dword [edi + 0xb0]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x48]
push eax
push esi
mov ecx, ebx
call fcn.0040d550
cmp dword [edi + 0x54], 3
jne 0x4112cb
mov dword [edi + 0x110], 1
mov edx, dword [ebx]
mov eax, dword [edx + 0x190]
mov ecx, ebx
call eax
mov ecx, dword [edi + 0xb0]
mov edx, dword [edi + 0xac]
push 6
push ecx
push edx
push 0
push 0
push 0
mov ecx, ebx
call fcn.0058a9ae
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.00461f70
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [edi + 0xb8], 1
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je 0x411493
cmp dword [esi + 8], 0x5453514f
jne case.default.0x40e90f
mov eax, dword [esi + 0x84]
cmp eax, 7
je 0x411462
cmp eax, 6
je 0x411462
mov ecx, dword [esi + 0xa8]
call fcn.00445c50
xor ebx, ebx
cmp dword [esi + 0x1c], ebx
jle case.default.0x40e90f
lea ebp, [esi + 0x14]
push ebx
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x4113d2
cmp dword [eax + 8], 0x424f5743
jne 0x4113d2
cmp dword [eax + 0x54], 0xb
jne 0x4113d2
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x4113ad
cmp ecx, 0x424b4843
je 0x4113ad
cmp ecx, 0x59544e45
je 0x4113ad
cmp ecx, 0x424d4f43
je 0x4113ad
cmp ecx, 0x5453494c
jne 0x4113d2
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x411451
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
jmp 0x411451
cmp dword [eax + 8], 0x50524752
jne 0x411451
xor edi, edi
cmp dword [esi + 0x1c], edi
jle 0x411451
push edi
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x411449
cmp dword [eax + 8], 0x424f5743
jne 0x411449
cmp dword [eax + 0x54], 0xb
jne 0x411449
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x41142d
cmp ecx, 0x424b4843
je 0x41142d
cmp ecx, 0x59544e45
je 0x41142d
cmp ecx, 0x424d4f43
je 0x41142d
cmp ecx, 0x5453494c
jne 0x411449
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x411449
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
add edi, 1
cmp edi, dword [esi + 0x1c]
jl 0x4113e2
add ebx, 1
cmp ebx, dword [esi + 0x1c]
jl 0x411362
jmp case.default.0x40e90f
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je case.default.0x40e90f
cmp ecx, 0xffffffff
je case.default.0x40e90f
call fcn.00445c50
test ebx, ebx
je case.default.0x40e90f
push esi
mov ecx, ebx
call fcn.00463420
jmp case.default.0x40e90f
test ebx, ebx
je case.default.0x40e90f
mov eax, dword [ebx + 0x74]
xor ecx, ecx
cmp dword [eax + 0x1c], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ecx
jle case.default.0x40e90f
jmp 0x4114b7
mov ebx, dword [esp + 0x24]
push ecx
lea ecx, [eax + 0x14]
call fcn.00401700
mov edi, dword [eax]
cmp dword [edi + 8], 0x5453514f
jne 0x411619
mov eax, dword [edi + 0x84]
cmp eax, 7
je 0x4115fd
cmp eax, 6
je 0x4115fd
mov ecx, dword [edi + 0xa8]
call fcn.00445c50
xor ebx, ebx
cmp dword [edi + 0x1c], ebx
jle 0x411619
lea ebp, [edi + 0x14]
push ebx
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x411570
cmp dword [eax + 8], 0x424f5743
jne 0x411570
cmp dword [eax + 0x54], 0xb
jne 0x411570
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x41154b
cmp ecx, 0x424b4843
je 0x41154b
cmp ecx, 0x59544e45
je 0x41154b
cmp ecx, 0x424d4f43
je 0x41154b
cmp ecx, 0x5453494c
jne 0x411570
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x4115ef
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
jmp 0x4115ef
cmp dword [eax + 8], 0x50524752
jne 0x4115ef
xor esi, esi
cmp dword [edi + 0x1c], esi
jle 0x4115ef
push esi
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x4115e7
cmp dword [eax + 8], 0x424f5743
jne 0x4115e7
cmp dword [eax + 0x54], 0xb
jne 0x4115e7
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x4115cb
cmp ecx, 0x424b4843
je 0x4115cb
cmp ecx, 0x59544e45
je 0x4115cb
cmp ecx, 0x424d4f43
je 0x4115cb
cmp ecx, 0x5453494c
jne 0x4115e7
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x4115e7
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
add esi, 1
cmp esi, dword [edi + 0x1c]
jl 0x411580
add ebx, 1
cmp ebx, dword [edi + 0x1c]
jl 0x411500
jmp 0x411619
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x411619
cmp ecx, 0xffffffff
je 0x411619
call fcn.00445c50
push edi
mov ecx, ebx
call fcn.00463420
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
add ecx, 1
cmp ecx, dword [eax + 0x1c]
mov dword [esp + 0x34], ecx
jl 0x4114b3
jmp case.default.0x40e90f
mov esi, dword [esi + 0x10]
test esi, esi
je 0x41165f
cmp dword [esi + 8], 0x5453514f
jne case.default.0x40e90f
test ebx, ebx
je case.default.0x40e90f
push esi
mov ecx, ebx
call fcn.00463560
jmp case.default.0x40e90f
test ebx, ebx
je case.default.0x40e90f
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x74]
xor ebx, ebx
cmp dword [eax + 0x1c], ebx
mov dword [esp + 0x34], eax
jle case.default.0x40e90f
jmp 0x411682
mov eax, edx
push ebx
lea ecx, [eax + 0x14]
call fcn.00401700
mov edi, dword [eax]
cmp dword [edi + 8], 0x5052474f
jne 0x4116c5
xor esi, esi
cmp dword [edi + 0x1c], esi
jle 0x4116c5
lea ebp, [edi + 0x14]
push esi
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
cmp dword [eax + 8], 0x5453514f
jne 0x4116bd
mov ecx, dword [esp + 0x24]
push eax
call fcn.00463560
add esi, 1
cmp esi, dword [edi + 0x1c]
jl 0x4116a0
cmp dword [edi + 8], 0x5453514f
jne 0x4116d8
mov ecx, dword [esp + 0x24]
push edi
call fcn.00463560
mov edx, dword [esp + 0x34]
add ebx, 1
cmp ebx, dword [edx + 0x1c]
jl 0x411680
jmp case.default.0x40e90f
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x40e90f
cmp eax, 0xffffffff
je case.default.0x40e90f
cmp dword [esi + 0xc], 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
mov edi, eax
test edi, edi
je case.default.0x40e90f
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x4117ca
lea ecx, [esp + 0x14]
call fcn.00402080
push 1
lea ebp, [esi + 0x1c]
mov ebx, 0x3c
push ebp
mov ecx, 0x61537c
mov dword [esp + 0x360], ebx
call fcn.0043b960
test eax, eax
je 0x41175a
mov ebp, dword [ebp]
add ebp, 0x10
push ebp
jmp 0x4117a2
mov ecx, dword [esi + 0x54]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x54]
je 0x41179e
push eax
lea edx, [esp + 0x88]
push edx
call fcn.00445950
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x35c], 0x3d
call fcn.004024f0
lea ecx, [esp + 0x84]
mov byte [esp + 0x358], bl
call fcn.00401f40
jmp 0x4117ab
add esi, 0x4c
push esi
lea ecx, [esp + 0x18]
call fcn.004024f0
mov eax, dword [esp + 0x14]
mov esi, dword [edi]
push eax
call fcn.005ab5f5
mov edx, dword [esi + 0x154]
add esp, 4
push eax
mov ecx, edi
call edx
jmp 0x40f39e
cmp eax, 1
jne 0x4117e0
mov eax, dword [edi]
mov edx, dword [eax + 0x158]
mov ecx, edi
call edx
jmp case.default.0x40e90f
cmp eax, 2
jne 0x4117f6
mov eax, dword [edi]
mov edx, dword [eax + 0x15c]
mov ecx, edi
call edx
jmp case.default.0x40e90f
cmp eax, 3
jne 0x411815
mov ecx, dword [esi + 0x4c]
mov eax, dword [edi]
mov edx, dword [eax + 0x160]
push ecx
push 0x5d950c
mov ecx, edi
call edx
jmp case.default.0x40e90f
cmp eax, 6
jne 0x41182b
mov eax, dword [edi]
mov edx, dword [eax + 0x134]
mov ecx, edi
call edx
jmp case.default.0x40e90f
cmp eax, 7
jne 0x411841
mov eax, dword [edi]
mov edx, dword [eax + 0x138]
mov ecx, edi
call edx
jmp case.default.0x40e90f
cmp eax, 8
jne 0x411857
mov eax, dword [edi]
mov edx, dword [eax + 0x164]
mov ecx, edi
call edx
jmp case.default.0x40e90f
cmp eax, 4
jne 0x4118fd
lea ecx, [esp + 0x14]
call fcn.00402080
push 1
lea ebp, [esi + 0x1c]
mov ebx, 0x3e
push ebp
mov ecx, 0x61537c
mov dword [esp + 0x360], ebx
call fcn.0043b960
test eax, eax
je 0x411892
mov ebp, dword [ebp]
add ebp, 0x10
push ebp
jmp 0x4118da
mov ecx, dword [esi + 0x54]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x54]
je 0x4118d6
push eax
lea edx, [esp + 0x90]
push edx
call fcn.00445950
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x35c], 0x3f
call fcn.004024f0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x358], bl
call fcn.00401f40
jmp 0x4118e3
lea eax, [esi + 0x50]
push eax
lea ecx, [esp + 0x18]
call fcn.004024f0
mov eax, dword [esp + 0x14]
mov esi, dword [esi + 0x4c]
mov edx, dword [edi]
mov edx, dword [edx + 0x168]
push eax
push esi
mov ecx, edi
call edx
jmp 0x40f39e
cmp eax, 5
jne 0x411977
push 0x5d7dcc
lea ecx, [esp + 0x34]
call fcn.004045a0
mov eax, dword [esi + 0x4c]
mov edx, dword [edi]
mov edx, dword [edx + 0x16c]
lea ecx, [esp + 0x30]
push ecx
push eax
mov ecx, edi
mov dword [esp + 0x360], 0x40
call edx
push 1
lea edi, [esi + 0x1c]
push edi
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x41195e
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebx + 0x74]
push eax
mov eax, dword [esi + 0x3c]
push ecx
mov ecx, dword [edi]
push edx
push 0
push eax
call fcn.00445da0
lea ecx, [esp + 0x30]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
jmp case.default.0x40e90f
cmp eax, 9
jne case.default.0x40e90f
lea ecx, [esp + 0x14]
call fcn.00402080
push 1
lea ebp, [esi + 0x1c]
mov ebx, 0x41
push ebp
mov ecx, 0x61537c
mov dword [esp + 0x360], ebx
call fcn.0043b960
test eax, eax
je 0x4119b2
mov ebp, dword [ebp]
add ebp, 0x10
push ebp
jmp 0x4119fa
mov ecx, dword [esi + 0x54]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x54]
je 0x4119f6
push eax
lea edx, [esp + 0x98]
push edx
call fcn.00445950
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x35c], 0x42
call fcn.004024f0
lea ecx, [esp + 0x94]
mov byte [esp + 0x358], bl
call fcn.00401f40
jmp 0x411a03
lea eax, [esi + 0x50]
push eax
lea ecx, [esp + 0x18]
call fcn.004024f0
push 0x5d7dcc
lea ecx, [esp + 0x34]
call fcn.004045a0
mov eax, dword [esi + 0x4c]
mov edx, dword [edi]
mov edx, dword [edx + 0x1a4]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, edi
mov byte [esp + 0x364], 0x43
call edx
mov eax, dword [esi + 0x40]
push 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x61537c
mov dword [esp + 0x3c], eax
call fcn.0043b960
test eax, eax
je 0x411a5f
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push 0
push edx
call fcn.004451e0
lea ecx, [esp + 0x30]
call fcn.00401f40
jmp 0x40f39e
mov eax, dword [esi + 0x10]
test eax, eax
je case.default.0x40e90f
cmp eax, 0xffffffff
je case.default.0x40e90f
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x411ab6
cmp ecx, 0xffffffff
je 0x411ab6
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je case.default.0x40e90f
mov ecx, dword [esi + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x184]
push ecx
mov ecx, eax
call edx
jmp case.default.0x40e90f
mov edi, 0x424f5743
cmp dword [eax + 8], edi
jne 0x411b64
cmp dword [eax + 0x54], 0
jne 0x411b64
push 1
lea ebp, [esi + 0x1c]
push ebp
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x411b64
mov eax, dword [ebp]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x411c1e
mov edx, dword [0x615380]
cmp dword [edx + 0x12c], 0
je 0x411c1e
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x74]
test ebx, ebx
je 0x411b31
mov eax, dword [ebx + 8]
cmp eax, 0x4c544954
je 0x411b31
cmp eax, 0x4d415246
je 0x411b31
cmp eax, 0x55535341
je 0x411b31
mov ebx, dword [ebx + 0x10]
test ebx, ebx
jne 0x411b12
xor edi, edi
test ecx, ecx
jle 0x411c1e
jmp 0x411b40
mov ecx, dword [ebp]
push edi
add ecx, 0x44
call fcn.00401700
cmp dword [eax], ebx
mov ecx, dword [ebp]
je 0x411c02
add edi, 1
cmp edi, dword [ecx + 0x4c]
jl 0x411b40
jmp 0x411c1e
mov eax, dword [esi + 0x10]
cmp dword [eax + 8], edi
jne 0x411c5d
cmp dword [eax + 0x54], 0xb
jne 0x411c5d
push 1
lea ebp, [esi + 0x1c]
push ebp
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je 0x411c5d
mov eax, dword [ebp]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x411c1e
mov edx, dword [0x615380]
cmp dword [edx + 0x12c], 0
je 0x411c1e
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x74]
test ebx, ebx
je 0x411bdf
lea ebx, [ebx]
mov eax, dword [ebx + 8]
cmp eax, 0x4c544954
je 0x411bdf
cmp eax, 0x4d415246
je 0x411bdf
cmp eax, 0x55535341
je 0x411bdf
mov ebx, dword [ebx + 0x10]
test ebx, ebx
jne 0x411bc0
xor edi, edi
test ecx, ecx
jle 0x411c1e
mov ecx, dword [ebp]
push edi
add ecx, 0x44
call fcn.00401700
cmp dword [eax], ebx
mov ecx, dword [ebp]
je 0x411c02
add edi, 1
cmp edi, dword [ecx + 0x4c]
jl 0x411be5
jmp 0x411c1e
push edi
add ecx, 0x30
call fcn.00401700
mov ecx, dword [ebp]
push eax
add ecx, 0x10
call fcn.00402570
mov eax, dword [ebp]
or dword [eax + 0x6c], 1
mov edx, dword [esi + 0x10]
mov ecx, dword [esp + 0x1c]
push 0
push edx
call fcn.0040d880
mov esi, eax
test esi, esi
je case.default.0x40e90f
mov ecx, dword [ebp]
test dword [ecx + 0x14], 0x80000
je 0x411c48
call fcn.00445d00
mov ecx, dword [ebp]
mov eax, dword [esi]
mov edx, dword [eax + 0x180]
push ecx
mov ecx, esi
call edx
jmp case.default.0x40e90f
mov eax, dword [esi + 0x10]
cmp dword [eax + 8], 0x50524752
jne case.default.0x40e90f
push 1
lea edi, [esi + 0x1c]
push edi
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je case.default.0x40e90f
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x411d0e
mov edx, dword [0x615380]
cmp dword [edx + 0x12c], 0
je 0x411d0e
mov eax, dword [esp + 0x24]
mov ebp, dword [eax + 0x74]
test ebp, ebp
je 0x411ccf
lea esp, [esp]
mov eax, dword [ebp + 8]
cmp eax, 0x4c544954
je 0x411ccf
cmp eax, 0x4d415246
je 0x411ccf
cmp eax, 0x55535341
je 0x411ccf
mov ebp, dword [ebp + 0x10]
test ebp, ebp
jne 0x411cb0
xor edi, edi
test ecx, ecx
jle 0x411d0e
mov ecx, dword [esi + 0x1c]
push edi
add ecx, 0x44
call fcn.00401700
cmp dword [eax], ebp
mov ecx, dword [esi + 0x1c]
je 0x411cf2
add edi, 1
cmp edi, dword [ecx + 0x4c]
jl 0x411cd5
jmp 0x411d0e
push edi
add ecx, 0x30
call fcn.00401700
mov ecx, dword [esi + 0x1c]
push eax
add ecx, 0x10
call fcn.00402570
mov eax, dword [esi + 0x1c]
or dword [eax + 0x6c], 1
mov ecx, dword [esi + 0x1c]
test dword [ecx + 0x14], 0x80000
je 0x411d1f
call fcn.00445d00
mov edx, dword [esi + 0x10]
xor ebx, ebx
cmp dword [edx + 0x1c], ebx
mov dword [esp + 0x30], ebx
jle 0x411ddc
mov ecx, dword [esi + 0x10]
push ebx
add ecx, 0x14
call fcn.00401700
mov edi, dword [eax]
mov ecx, dword [esp + 0x1c]
push 0
push edi
call fcn.0040d880
mov ebp, eax
test ebp, ebp
je 0x411daa
test edi, edi
je 0x411daa
cmp dword [edi + 8], 0x424f5743
jne 0x411daa
cmp dword [edi + 0x54], 0xb
jne 0x411daa
cmp dword [edi + 0xcc], 0x4f444152
jne 0x411daa
cmp dword [esp + 0x30], 0
jne 0x411da1
mov eax, dword [esi + 0x1c]
add eax, 0x10
push eax
add edi, 4
push edi
call fcn.0040e710
add esp, 8
test al, al
je 0x411da1
push 1
mov ecx, ebp
call fcn.00453230
mov dword [esp + 0x30], 1
jmp 0x411daa
push 0
mov ecx, ebp
call fcn.00453230
mov ecx, dword [esi + 0x10]
add ebx, 1
cmp ebx, dword [ecx + 0x1c]
jl 0x411d31
cmp dword [esp + 0x30], 0
je 0x411ddc
mov edx, dword [esi + 0x1c]
mov eax, ecx
mov ecx, dword [eax + 0xa0]
add edx, 0x10
push edx
add ecx, 0x10
call fcn.00402570
jmp case.default.0x40e90f
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0xa0]
add ecx, 0x10
call fcn.00401f60
jmp case.default.0x40e90f
push 1
lea ebp, [esi + 0x1c]
push ebp
mov ecx, 0x61537c
call fcn.0043b960
test eax, eax
je case.default.0x40e90f
mov edx, dword [esi + 0x40]
push 1
lea eax, [esp + 0x34]
push eax
mov ecx, 0x61537c
mov dword [esp + 0x38], edx
call fcn.0043b960
test eax, eax
jne 0x411e2a
mov dword [esp + 0x30], eax
lea edi, [esi + 0x14]
push edi
mov ecx, 0x61537c
call fcn.0043cc40
test eax, eax
je 0x411e75
lea ecx, [esp + 0x34]
push edi
push ecx
call fcn.00445950
add esp, 8
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0x35c], 0x44
call fcn.004024f0
lea ecx, [esp + 0x34]
mov dword [esp + 0x358], 0xffffffff
call fcn.00401f40
mov ecx, dword [esp + 0x24]
xor eax, eax
test ecx, ecx
je 0x411e82
mov eax, dword [ecx + 0x74]
mov ecx, dword [ecx + 0x74]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [edi]
push eax
mov eax, dword [esi + 0x3c]
push ecx
mov ecx, dword [ebp]
push edx
push eax
call fcn.00445da0
jmp case.default.0x40e90f
push ebx
call fcn.0042f180
add esp, 4
jmp case.default.0x40e90f
lea ecx, [esp + 0x44]
push ecx
add esi, 0x14
push esi
push 0x61537c
call fcn.00444bd0
add esp, 0xc
lea ecx, [esp + 0x14]
mov edi, eax
call fcn.00402080
test edi, edi
mov dword [esp + 0x358], 0x45
lea ecx, [esp + 0x14]
je 0x411ee8
add edi, 0x10
push edi
jmp 0x411ee9
push esi
call fcn.004024f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push 0x40040
push 0
push edx
call fcn.0058276d
jmp 0x40f39e
mov esi, dword [esi + 0x10]
test esi, esi
je case.default.0x40e90f
push 0x61537c
mov ecx, esi
call fcn.00435950
test ebx, ebx
je case.default.0x40e90f
mov eax, dword [ebx + 0x74]
push eax
call fcn.0042d330
add esp, 4
cmp esi, eax
jne case.default.0x40e90f
mov eax, dword [ebx + 0x74]
xor ecx, ecx
cmp dword [eax + 0x1c], ecx
mov dword [esp + 0x34], ecx
jle case.default.0x40e90f
mov esi, dword [esp + 0x24]
push ecx
lea ecx, [eax + 0x14]
call fcn.00401700
mov edi, dword [eax]
cmp dword [edi + 8], 0x5453514f
jne 0x4120b9
mov eax, dword [edi + 0x84]
cmp eax, 7
je 0x41209d
cmp eax, 6
je 0x41209d
mov ecx, dword [edi + 0xa8]
call fcn.00445c50
xor ebx, ebx
cmp dword [edi + 0x1c], ebx
jle 0x4120b9
lea ebp, [edi + 0x14]
lea ebx, [ebx]
push ebx
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x412010
cmp dword [eax + 8], 0x424f5743
jne 0x412010
cmp dword [eax + 0x54], 0xb
jne 0x412010
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x411feb
cmp ecx, 0x424b4843
je 0x411feb
cmp ecx, 0x59544e45
je 0x411feb
cmp ecx, 0x424d4f43
je 0x411feb
cmp ecx, 0x5453494c
jne 0x412010
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x41208f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
jmp 0x41208f
cmp dword [eax + 8], 0x50524752
jne 0x41208f
xor esi, esi
cmp dword [edi + 0x1c], esi
jle 0x41208f
push esi
mov ecx, ebp
call fcn.00401700
mov eax, dword [eax]
test eax, eax
je 0x412087
cmp dword [eax + 8], 0x424f5743
jne 0x412087
cmp dword [eax + 0x54], 0xb
jne 0x412087
mov ecx, dword [eax + 0xcc]
cmp ecx, 0x4f444152
je 0x41206b
cmp ecx, 0x424b4843
je 0x41206b
cmp ecx, 0x59544e45
je 0x41206b
cmp ecx, 0x424d4f43
je 0x41206b
cmp ecx, 0x5453494c
jne 0x412087
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.0040d880
test eax, eax
je 0x412087
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x194]
call eax
add esi, 1
cmp esi, dword [edi + 0x1c]
jl 0x412020
add ebx, 1
cmp ebx, dword [edi + 0x1c]
jl 0x411fa0
jmp 0x4120b9
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x4120b9
cmp ecx, 0xffffffff
je 0x4120b9
call fcn.00445c50
push edi
mov ecx, esi
call fcn.00463420
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x74]
add ecx, 1
cmp ecx, dword [eax + 0x1c]
mov dword [esp + 0x34], ecx
jl 0x411f51
jmp case.default.0x40e90f
xor esi, esi
cmp dword [0x6153a0], esi
jle case.default.0x40e90f
push esi
mov ecx, 0x615398
call fcn.00425a90
test dword [eax + 0x14], 0x300
jne 0x4120fb
mov ecx, eax
call fcn.00445c50
add esi, 1
cmp esi, dword [0x6153a0]
jl 0x4120e0
jmp case.default.0x40e90f
mov ecx, dword [esi + 0x10]
push 0
push ecx
mov ecx, dword [esp + 0x24]
call fcn.0040d880
test eax, eax
je case.default.0x40e90f
push eax
push 1
jmp 0x41213d
cmp eax, 0x1002
jne case.default.0x40e90f
mov edx, dword [esi + 0x10]
mov ecx, dword [esp + 0x1c]
push 0
push edx
call fcn.0040d880
test eax, eax
je case.default.0x40e90f
push eax
push 0
mov ecx, ebx
call fcn.0045feb0
mov esi, dword [esp + 0x58]
test esi, esi
je 0x412174
mov ecx, dword [esi]
test ecx, ecx
je 0x41215b
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x41216b
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
push esi
call fcn.0057df27
add esp, 4
mov ebx, dword [esp + 0x1c]
mov dword [ebx + 0x94], 0
cmp dword [0x6154f0], 0
jle 0x4121cd
cmp dword [0x6154dc], 0
mov eax, dword [0x6154ec]
mov edi, dword [eax]
jg 0x4121a0
call fcn.0057e0f5
mov ecx, dword [0x6154d8]
mov esi, dword [ecx]
push 1
push 0
mov ecx, 0x6154e8
call fcn.0058e891
push 1
push 0
mov ecx, 0x6154d4
call fcn.0058e891
push esi
push edi
mov ecx, ebx
call fcn.0040e770
xor eax, eax
mov ecx, dword [esp + 0x350]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x338]
xor ecx, esp
call fcn.005aac48
add esp, 0x348
ret 8