Function at 0x426047
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6285ca
mov eax, dword fs:[0]
push eax
sub esp, 0x2f8
mov eax, dword [0x6b9a04]
xor eax, esp
mov dword [esp + 0x2f0], eax
push ebx
push esi
push edi
mov eax, dword [0x6b9a04]
xor eax, esp
push eax
lea eax, [esp + 0x308]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [esp + 0x30], eax
push ebx
push ecx
mov dword [esp + 0x20], edi
mov dword [edi + 0x144], eax
mov dword [edi + 0x50], ebx
mov dword [edi + 0x54], eax
mov dword [edi + 0x58], eax
call fcn.0042548b
pop ecx
mov ecx, eax
call fcn.0054bfec
mov ecx, dword [0x6c1850]
cmp eax, ecx
jne 0x428071
cmp dword [0x6bb800], ecx
jne 0x428071
cmp dword [0x6bb7fc], ecx
jne 0x428071
mov esi, edi
call fcn.004280aa
test eax, eax
jne 0x426102
push ebx
call fcn.00497541
mov eax, dword [eax + 0x68]
neg eax
sbb eax, eax
and eax, 3
inc eax
pop ecx
mov dword [edi + 0x144], eax
jmp 0x42807b
mov eax, edi
call fcn.00428d35
xor esi, esi
cmp dword [0x6c1644], esi
je 0x426163
lea eax, [esp + 0x254]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov dword [esp + 0x310], esi
cmp dword [eax + 0x18], 0x10
jb 0x426135
mov eax, dword [eax + 4]
jmp 0x426138
add eax, 4
mov ecx, dword [0x6c1644]
mov edx, dword [ecx]
push 0xffffffffffffffff
push str.Start_Session
push 7
push eax
call dword [edx + 4]
or dword [esp + 0x310], 0xffffffff
push esi
push ebx
lea ecx, [esp + 0x25c]
call fcn.004055c2
call fcn.00428af7
test eax, eax
jne 0x426182
mov dword [edi + 0x144], 2
mov esi, edi
call fcn.00428d3c
jmp 0x42807b
push esi
call fcn.005400aa
pop ecx
test eax, eax
je 0x426176
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
mov eax, dword [edi + 8]
cmp eax, esi
je 0x4261b5
lea ecx, [esp + 0x254]
push ecx
call fcn.0040c90f
mov dword [esp + 0x30], ebx
mov byte [esp + 0x17], bl
cmp dword [eax + 0x14], esi
jne 0x4261ba
mov byte [esp + 0x17], 0
test byte [esp + 0x30], bl
je 0x4261d3
and dword [esp + 0x30], 0xfffffffe
push esi
push ebx
lea ecx, [esp + 0x25c]
call fcn.004055c2
cmp byte [esp + 0x17], 0
je 0x4261ed
call fcn.0055d78b
test eax, eax
jne 0x4261ed
mov dword [edi + 0x144], 5
cmp dword [edi + 0x144], 5
je 0x426176
xor esi, esi
lea eax, [esp + 0xf4]
push eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0xa4], esi
call fcn.00412717
lea eax, [esp + 0x114]
push eax
mov dword [esp + 0x314], ebx
call fcn.00412bb5
mov byte [esp + 0x310], 2
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 8]
push esi
lea esi, [esp + 0x290]
call fcn.00414d30
push ebx
sub esp, 0x1c
mov byte [esp + 0x330], 3
mov eax, esp
mov dword [esp + 0x4c], esp
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x330], 4
call fcn.004010df
push eax
mov byte [esp + 0x334], 3
call fcn.004df82f
jmp 0x427d04
cmp dword [esp + 0x28c], 5
je 0x4262a1
cmp dword [esp + 0x28c], 8
jne 0x426368
cmp dword [esp + 0x2a8], 0x10
mov eax, dword [esp + 0x294]
jae 0x4262b9
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0xa8]
call fcn.004050f0
lea eax, [esp + 0x1cc]
mov byte [esp + 0x310], 5
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 6
cmp dword [eax + 0x18], 0x10
jb 0x4262f1
mov eax, dword [eax + 4]
jmp 0x4262f4
add eax, 4
push eax
lea ecx, [esp + 0xa0]
call fcn.004050f0
mov byte [esp + 0x310], 7
call fcn.004010df
mov ebx, eax
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x9c]
call fcn.004db794
mov ecx, dword [esp + 0x9c]
add ecx, 0xfffffff0
call fcn.00405172
push 0
push 1
lea ecx, [esp + 0x1d4]
call fcn.004055c2
mov byte [esp + 0x310], 3
mov ecx, dword [esp + 0xa4]
add ecx, 0xfffffff0
call fcn.00405172
and dword [esp + 0x28c], 0
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
call fcn.00415754
test eax, eax
jne 0x427d52
push edi
call fcn.00415bdb
lea eax, [esp + 0x204]
push eax
mov ecx, edi
call fcn.00415760
lea eax, [esp + 0x204]
lea esi, [esp + 0x28c]
mov byte [esp + 0x310], 8
call fcn.00415711
mov eax, dword [esp + 0x204]
test eax, eax
je 0x427cf0
cmp eax, 6
jne 0x4263c5
mov dword [esp + 0xa0], ebx
jmp 0x427cf0
cmp eax, 9
je 0x427cf0
cmp eax, 4
je 0x4263f3
cmp eax, ebx
je 0x4263e5
cmp eax, 2
je 0x4263e5
cmp eax, 3
jne 0x4267cd
cmp dword [esp + 0x88], 0
jne 0x4267cd
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je 0x4267cd
lea eax, [esp + 0x5c]
push eax
call fcn.00412717
lea eax, [esp + 0x1cc]
mov byte [esp + 0x310], 9
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
push ebx
lea ecx, [esp + 0x60]
push ecx
push eax
mov byte [esp + 0x31c], 0xa
call fcn.0040ca47
push eax
call fcn.004557a7
xor esi, esi
push esi
push ebx
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 9
call fcn.004055c2
cmp dword [esp + 0x78], esi
jne 0x426477
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x314], 8
call fcn.00412745
jmp 0x4267cd
lea eax, [esp + 0x38]
mov dword [esp + 0x88], ebx
push eax
lea ebx, [esp + 0x60]
mov dword [esp + 0x3c], esi
call fcn.00546367
mov ebx, dword [esp + 0x1c]
mov esi, eax
pop ecx
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [ebx + 8]
call fcn.0040106a
mov edi, eax
or eax, 0xffffffff
mov byte [esp + 0x310], 0xb
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x40], 0xc
call fcn.0040ca84
mov ecx, eax
mov eax, edi
call fcn.00414e2f
push 0
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 9
call fcn.004055c2
sub esp, 0x20
mov dword [esp + 0x4c], esp
mov eax, esp
lea ecx, [esp + 0x7c]
push ecx
push eax
call fcn.00423695
sub esp, 0x1c
mov byte [esp + 0x34c], 0xc
mov eax, esp
mov dword [esp + 0x58], esp
push eax
mov eax, dword [ebx + 8]
call fcn.0040106a
mov byte [esp + 0x34c], 9
call fcn.004a7e21
mov ecx, dword [ebx + 0x140]
mov eax, dword [ecx]
add esp, 0x3c
push dword [esp + 0x38]
push esi
call dword [eax + 0x24]
test eax, eax
je 0x426724
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [ebx + 8]
call fcn.0040106a
mov esi, eax
mov byte [esp + 0x310], 0xd
call fcn.004010df
lea eax, [esp + 0x5c]
push eax
push esi
call fcn.004daf4c
push 0
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 9
call fcn.004055c2
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x5c]
lea edi, [esp + 0xe4]
lea esi, [esp + 0x8c]
mov dword [esp + 0xe4], eax
call fcn.00584150
test al, al
jne 0x4267b4
call fcn.005469a8
push eax
lea eax, [esp + 0xf8]
push eax
lea ebx, [esp + 0x168]
call fcn.0041276d
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov ebx, eax
mov byte [esp + 0x310], 0xe
call fcn.005469a8
cmp dword [eax + 0x18], 0x10
jb 0x426620
mov eax, dword [eax + 4]
jmp 0x426623
add eax, 4
cmp dword [ebx + 0x18], 0x10
jb 0x42662e
mov ecx, dword [ebx + 4]
jmp 0x426631
lea ecx, [ebx + 4]
push eax
push ecx
call fcn.004010df
mov ebx, eax
call fcn.004e3235
push 0
push 1
lea ecx, [esp + 0x1d4]
mov esi, eax
mov byte [esp + 0x318], 9
call fcn.004055c2
test esi, esi
je 0x42667d
mov eax, dword [esi + 0x34]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x118]
push eax
lea ebx, [esp + 0x174]
call fcn.0041a610
push 0
lea esi, [esp + 0x90]
call fcn.005469a8
cmp dword [eax + 0x18], 0x10
jb 0x426696
mov eax, dword [eax + 4]
jmp 0x426699
add eax, 4
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.004050f0
lea eax, [esp + 0x1d4]
mov byte [esp + 0x318], 0xf
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x318], 0x10
cmp dword [eax + 0x18], 0x10
jb 0x4266d1
mov eax, dword [eax + 4]
jmp 0x4266d4
add eax, 4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.004050f0
mov byte [esp + 0x31c], 0x11
call fcn.00414e70
mov byte [esp + 0x31c], 0x12
call fcn.004d304d
push 0
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 9
call fcn.004055c2
lea esi, [esp + 0x8c]
call fcn.00414582
jmp 0x4265a7
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x5c]
lea edi, [esp + 0xcc]
lea esi, [esp + 0xa8]
mov dword [esp + 0xcc], eax
call fcn.00584150
test al, al
jne 0x4267b4
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [ebx + 8]
call fcn.0040106a
mov edi, eax
mov byte [esp + 0x310], 0x13
call fcn.005469a8
push eax
push edi
call fcn.0040ca47
push eax
call fcn.004556f6
push 0
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 9
call fcn.004055c2
call fcn.00414582
jmp 0x42673c
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x314], 8
call fcn.00412745
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
cmp dword [esp + 0x204], 5
je 0x4267e5
cmp dword [esp + 0x204], 8
jne 0x4270ad
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je 0x4270ad
cmp dword [0x6c1644], 0
je 0x426853
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x14
cmp dword [eax + 0x18], 0x10
jb 0x426824
mov eax, dword [eax + 4]
jmp 0x426827
add eax, 4
mov ecx, dword [0x6c1644]
mov edx, dword [ecx]
push 0xffffffffffffffff
push str.Retrieve
push 7
push eax
call dword [edx + 4]
push 0
push ebx
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 8
call fcn.004055c2
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0x208]
push eax
lea eax, [esp + 0x154]
push eax
lea ebx, [esp + 0xfc]
call fcn.00412872
lea edi, [esp + 0xd4]
mov esi, eax
call fcn.00584150
mov edi, dword [esp + 0x18]
test al, al
je 0x4270aa
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov esi, eax
or eax, 0xffffffff
mov byte [esp + 0x310], 0x15
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x40], 0xd
call fcn.0040ca84
mov ecx, eax
mov eax, esi
call fcn.00414e2f
push 0
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 8
call fcn.004055c2
cmp dword [esp + 0x220], 0x10
mov eax, dword [esp + 0x20c]
jae 0x42691d
lea eax, [esp + 0x20c]
push eax
lea ecx, [esp + 0x24]
call fcn.004050f0
lea eax, [esp + 0x1cc]
mov byte [esp + 0x310], 0x16
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x17
cmp dword [eax + 0x18], 0x10
jb 0x426952
mov eax, dword [eax + 4]
jmp 0x426955
add eax, 4
push dword [esp + 0x20]
push eax
call fcn.004010df
mov ebx, eax
call fcn.00416f35
xor esi, esi
push esi
push 1
lea ecx, [esp + 0x1d4]
mov ebx, eax
mov byte [esp + 0x318], 0x16
call fcn.004055c2
cmp ebx, esi
jne 0x42699a
push 0x2b
call fcn.004010a2
mov ecx, eax
call fcn.00431cfc
test eax, eax
jne 0x42699a
inc eax
jmp 0x42699c
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x204], 8
lea edx, [esp + 0x208]
sete cl
or eax, ecx
je 0x426d13
push esi
push edi
lea ecx, [esp + 0x278]
call fcn.0042824d
mov ebx, str.X_PP_WA:
mov byte [esp + 0x310], 0x18
or dword [esp + 0x24], 0xffffffff
push ebx
call fcn.005c3140
pop ecx
push eax
push ebx
lea eax, [esp + 0x278]
push eax
xor eax, eax
call fcn.00406e21
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffff
je 0x426a24
mov ebx, 0x641dc0
push ebx
call fcn.005c3140
pop ecx
push eax
push ebx
lea eax, [esp + 0x278]
push eax
xor eax, eax
call fcn.00406e21
cmp eax, dword [esp + 0x1c]
jle 0x426a24
mov dword [esp + 0x24], 0xfffffffe
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 0x20]
test eax, eax
je 0x426a3b
mov dword [esp + 0x24], 0xfffffffe
call fcn.00415754
test eax, eax
jne 0x427d13
cmp dword [esp + 0x284], esi
jne 0x426a5d
lea ecx, [esp + 0x270]
jmp 0x426d47
cmp dword [esp + 0x220], 0x10
mov eax, dword [esp + 0x20c]
jae 0x426a75
lea eax, [esp + 0x20c]
push eax
lea ecx, [esp + 0x24]
call fcn.004050b9
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x19
cmp dword [eax + 0x18], 0x10
jb 0x426aa2
mov eax, dword [eax + 4]
jmp 0x426aa5
add eax, 4
push dword [esp + 0x20]
push eax
call fcn.004010df
mov ebx, eax
call fcn.004e3235
xor esi, esi
push esi
push 1
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x40], eax
mov byte [esp + 0x318], 0x18
call fcn.004055c2
cmp dword [esp + 0x38], esi
je 0x426b61
lea eax, [esp + 0xb0]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov ebx, eax
lea eax, [esp + 0x270]
push eax
lea eax, [esp + 0x1ec]
mov byte [esp + 0x314], 0x1a
call fcn.00549b81
pop ecx
mov byte [esp + 0x310], 0x1b
cmp dword [ebx + 0x18], 0x10
jb 0x426b1f
mov ebx, dword [ebx + 4]
jmp 0x426b22
add ebx, 4
cmp dword [eax + 0x18], 0x10
jb 0x426b2d
mov eax, dword [eax + 4]
jmp 0x426b30
add eax, 4
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
push ebx
push eax
call dword [edx + 8]
push esi
push 1
lea ecx, [esp + 0x1f0]
call fcn.004055c2
push esi
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x318], 0x18
call fcn.004055c2
cmp dword [esp + 0x288], 0x10
mov eax, dword [esp + 0x274]
jae 0x426b79
lea eax, [esp + 0x274]
push eax
lea ecx, [esp + 0x1d0]
call fcn.0040518c
lea eax, [esp + 0x1e8]
mov byte [esp + 0x310], 0x1c
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x1d
cmp dword [eax + 0x18], 0x10
jb 0x426bb1
mov eax, dword [eax + 4]
jmp 0x426bb4
add eax, 4
push 0xffffffffffffffff
push esi
push esi
push esi
push esi
push 0xffffffffffffffff
push dword [esp + 0x3c]
lea ecx, [esp + 0x3c]
push dword [esp + 0x240]
push ecx
push eax
call fcn.004010df
push eax
lea ecx, [esp + 0x1f8]
call fcn.004e272e
push esi
push 1
lea ecx, [esp + 0x1f0]
call fcn.004055c2
push esi
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 0x18
call fcn.004055c2
lea eax, [esp + 0x194]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x1e
cmp dword [eax + 0x18], 0x10
jb 0x426c28
mov eax, dword [eax + 4]
jmp 0x426c2b
add eax, 4
push dword [esp + 0x20]
push eax
call fcn.004010df
mov ebx, eax
call fcn.00416f35
push 0
push 1
lea ecx, [esp + 0x19c]
mov dword [esp + 0x30], eax
mov byte [esp + 0x318], 0x18
call fcn.004055c2
lea eax, [esp + 0x1b0]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x1f
cmp dword [eax + 0x18], 0x10
jb 0x426c7b
mov eax, dword [eax + 4]
jmp 0x426c7e
add eax, 4
push dword [esp + 0x20]
push eax
call fcn.004010df
mov ebx, eax
call fcn.004e3235
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x1b8]
mov esi, eax
mov byte [esp + 0x318], 0x18
call fcn.004055c2
cmp esi, ebx
je 0x426cf7
push 6
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push ebx
push eax
mov edi, esi
mov dword [esi + 0xec], ebx
call fcn.0049fcff
push ecx
mov eax, esp
mov byte [esp + 0x31c], 0x20
mov dword [esp + 0x28], esp
push eax
mov eax, esi
call fcn.00416f8e
mov byte [esp + 0x31c], 0x21
call fcn.00414e70
mov byte [esp + 0x31c], 0x18
call fcn.004d304d
push ebx
push 1
lea ecx, [esp + 0x278]
mov byte [esp + 0x318], 0x16
call fcn.004055c2
jmp 0x427014
push 1
push edi
lea ecx, [esp + 0x25c]
call fcn.0042824d
mov byte [esp + 0x310], 0x22
call fcn.00415754
test eax, eax
jne 0x427d1c
cmp dword [esp + 0x268], esi
jne 0x426d7b
lea ecx, [esp + 0x254]
push esi
push 1
call fcn.004055c2
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00405172
lea esi, [esp + 0x204]
mov byte [esp + 0x310], 3
call fcn.004150e9
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
jmp 0x427d04
cmp dword [esp + 0x220], 0x10
mov eax, dword [esp + 0x20c]
jae 0x426d93
lea eax, [esp + 0x20c]
push eax
lea ecx, [esp + 0x24]
call fcn.004050b9
lea eax, [esp + 0x178]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x23
cmp dword [eax + 0x18], 0x10
jb 0x426dc0
mov eax, dword [eax + 4]
jmp 0x426dc3
add eax, 4
push dword [esp + 0x20]
push eax
call fcn.004010df
mov ebx, eax
call fcn.004e3235
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x180]
mov esi, eax
mov byte [esp + 0x318], 0x22
call fcn.004055c2
cmp esi, ebx
je 0x426e7f
lea eax, [esp + 0x1e8]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov dword [esp + 0x24], eax
lea eax, [esp + 0x254]
push eax
lea eax, [esp + 0x1d0]
mov byte [esp + 0x314], 0x24
call fcn.00549b81
pop ecx
mov byte [esp + 0x310], 0x25
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x18], 0x10
jb 0x426e3f
mov ecx, dword [ecx + 4]
jmp 0x426e42
add ecx, 4
cmp dword [eax + 0x18], 0x10
jb 0x426e4d
mov eax, dword [eax + 4]
jmp 0x426e50
add eax, 4
mov edx, dword [esi]
push ecx
push eax
mov ecx, esi
call dword [edx + 8]
push ebx
push 1
lea ecx, [esp + 0x1d4]
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x318], 0x22
call fcn.004055c2
cmp dword [esp + 0x26c], 0x10
mov eax, dword [esp + 0x258]
mov dword [esp + 0x28], ebx
jae 0x426e9b
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x1d0]
call fcn.0040518c
lea eax, [esp + 0x1e8]
mov byte [esp + 0x310], 0x26
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x27
cmp dword [eax + 0x18], 0x10
jb 0x426ed3
mov eax, dword [eax + 4]
jmp 0x426ed6
add eax, 4
or ecx, 0xffffffff
push ecx
push ebx
push ebx
push ebx
push ebx
push ecx
push ecx
push ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.004010df
push eax
lea ecx, [esp + 0x1f8]
call fcn.004e272e
push ebx
push 1
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x24], eax
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 0x22
call fcn.004055c2
cmp dword [esp + 0x1c], ebx
je 0x426f7e
lea eax, [esp + 0x134]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x28
cmp dword [eax + 0x18], 0x10
jb 0x426f4c
mov eax, dword [eax + 4]
jmp 0x426f4f
add eax, 4
push dword [esp + 0x20]
push eax
call fcn.004010df
mov ebx, eax
call fcn.00416f35
push 0
push 1
lea ecx, [esp + 0x13c]
mov dword [esp + 0x30], eax
mov byte [esp + 0x318], 0x22
call fcn.004055c2
xor ebx, ebx
cmp esi, ebx
je 0x426ffb
cmp dword [esi + 0x80], ebx
jg 0x426fb8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.0040518c
call fcn.0054a0e8
add esp, 0x1c
push esi
mov edi, eax
call fcn.004010df
push eax
mov edx, edi
call fcn.004db334
push 6
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push ebx
push eax
mov edi, esi
call fcn.0049fcff
push ecx
mov eax, esp
mov byte [esp + 0x31c], 0x29
mov dword [esp + 0x28], esp
push eax
mov eax, esi
call fcn.00416f8e
mov byte [esp + 0x31c], 0x2a
call fcn.00414e70
mov byte [esp + 0x31c], 0x22
call fcn.004d304d
push ebx
push 1
lea ecx, [esp + 0x25c]
mov byte [esp + 0x318], 0x16
call fcn.004055c2
xor ebx, ebx
cmp esi, ebx
je 0x427085
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
je 0x42706c
call fcn.00416fc4
test eax, eax
je 0x42706c
push 2
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push ebx
push eax
mov edi, esi
call fcn.0049fcff
push ecx
mov eax, esp
mov byte [esp + 0x31c], 0x2b
mov dword [esp + 0x28], esp
push eax
mov eax, esi
call fcn.00416f8e
mov byte [esp + 0x31c], 0x2c
call fcn.00414e70
mov byte [esp + 0x31c], 0x16
call fcn.004d304d
push ecx
mov eax, esp
mov dword [esp + 0x30], esp
push ebx
push eax
mov edi, esi
call fcn.0049fcff
push dword [esp + 0x1c]
call fcn.00415e3c
mov esi, dword [esp + 0x28]
cmp esi, ebx
je 0x427092
call fcn.004a16c4
mov byte [esp + 0x310], 8
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00405172
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
cmp dword [esp + 0x204], ebx
je 0x4270ce
cmp dword [esp + 0x204], 2
je 0x4270ce
cmp dword [esp + 0x204], 3
jne 0x427cd5
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je 0x427cf0
xor esi, esi
cmp dword [0x6c1644], esi
je 0x4271ff
cmp dword [esp + 0x204], ebx
jne 0x427149
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x2d
cmp dword [eax + 0x18], 0x10
jb 0x42711b
mov eax, dword [eax + 4]
jmp 0x42711e
add eax, 4
mov ecx, dword [0x6c1644]
mov edx, dword [ecx]
push 0xffffffffffffffff
push str.CheckMailStat
push 7
push eax
call dword [edx + 4]
push esi
push ebx
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 8
call fcn.004055c2
cmp dword [esp + 0x204], 2
jne 0x4271a4
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x2e
cmp dword [eax + 0x18], 0x10
jb 0x427176
mov eax, dword [eax + 4]
jmp 0x427179
add eax, 4
mov ecx, dword [0x6c1644]
mov edx, dword [ecx]
push 0xffffffffffffffff
push str.CheckMailHeader
push 7
push eax
call dword [edx + 4]
push esi
push ebx
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 8
call fcn.004055c2
cmp dword [esp + 0x204], 3
jne 0x4271ff
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x2f
cmp dword [eax + 0x18], 0x10
jb 0x4271d1
mov eax, dword [eax + 4]
jmp 0x4271d4
add eax, 4
mov ecx, dword [0x6c1644]
mov edx, dword [ecx]
push 0xffffffffffffffff
push str.CheckMailEntire
push 7
push eax
call dword [edx + 4]
push esi
push ebx
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 8
call fcn.004055c2
mov eax, dword [esp + 0x204]
cmp eax, dword [esp + 0x84]
jle 0x427216
mov dword [esp + 0x84], eax
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov esi, eax
or eax, 0xffffffff
mov byte [esp + 0x310], 0x30
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x40], 7
call fcn.0040ca84
mov ecx, eax
mov eax, esi
call fcn.00414e2f
push 0
push ebx
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x318], 8
call fcn.004055c2
lea eax, [esp + 0x3c]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov esi, eax
mov byte [esp + 0x310], 0x31
call fcn.004010a2
mov eax, dword [eax + 8]
push esi
lea esi, [esp + 0x2e0]
call fcn.00430457
push 0
push ebx
lea ecx, [esp + 0x44]
mov byte [esp + 0x318], 0x33
call fcn.004055c2
push 0x641764
lea ecx, [esp + 0x1ec]
call fcn.0040518c
push str.WMRetrievePages
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x314], 0x34
call fcn.0040518c
lea eax, [esp + 0x1e8]
push eax
lea eax, [esp + 0x1d0]
push eax
lea eax, [esp + 0x64]
push eax
mov ecx, esi
mov byte [esp + 0x31c], 0x35
call fcn.004309be
cmp dword [eax + 0x18], 0x10
jb 0x42730e
mov eax, dword [eax + 4]
jmp 0x427311
add eax, 4
push eax
call fcn.005c59d8
pop ecx
push 0
push ebx
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.004055c2
push 0
push ebx
lea ecx, [esp + 0x1d4]
call fcn.004055c2
push 0
push ebx
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x318], 0x33
call fcn.004055c2
cmp esi, ebx
jge 0x427360
push 0x25
call fcn.004010a2
mov ecx, eax
call fcn.00431dbb
mov esi, eax
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
push esi
mov esi, 0x642828
push esi
call dword [eax + 0x10]
test eax, eax
je 0x427498
mov ecx, dword [edi + 8]
mov dword [edi + 0x54], ebx
call fcn.00402ac8
lea eax, [esp + 0xb0]
push eax
call fcn.0040b9c5
mov byte [esp + 0x310], 0x36
mov ecx, dword [edi + 0x140]
and dword [esp + 0x80], 0
mov eax, dword [ecx]
push esi
lea edx, [esp + 0x84]
push edx
call dword [eax + 0x28]
mov esi, eax
test esi, esi
je 0x4273db
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x84]
mov ecx, esi
call fcn.005466a9
pop ecx
pop ecx
push esi
call dword [0x63447c]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0xb4]
push eax
push edi
call fcn.004283af
lea eax, [esp + 0xb0]
push eax
push edi
call fcn.0042849a
lea ebx, [edi + 0xc]
mov dword [esp + 0x2c], ebx
call fcn.00415d5c
xor esi, esi
inc esi
cmp dword [esp + 0x204], esi
je 0x427ca1
push eax
lea ecx, [esp + 0x208]
call fcn.00415ce2
test eax, eax
jne 0x427ca1
cmp dword [esp + 0x204], 2
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
jne 0x4274dc
xor ebx, ebx
cmp dword [esp + 0x22c], ebx
jne 0x4274c3
call fcn.0040106a
mov edi, eax
mov byte [esp + 0x310], 0x37
mov dword [esp + 0x3c], 9
or eax, 0xffffffff
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
call fcn.0040ca84
mov ecx, eax
mov eax, edi
call fcn.00414e2f
push ebx
jmp 0x42751b
mov eax, dword [edi]
push 0
lea ecx, [esp + 0x60]
push ecx
mov ecx, edi
call dword [eax + 0x10]
push 0
push ebx
lea ecx, [esp + 0x64]
call fcn.004055c2
lea ecx, [esp + 0x2dc]
call fcn.0043048d
jmp 0x427cf0
call fcn.0040106a
mov edi, eax
mov byte [esp + 0x310], 0x38
mov dword [esp + 0x3c], 0xa
jmp 0x42746c
call fcn.0040106a
mov edi, eax
or eax, 0xffffffff
mov byte [esp + 0x310], 0x39
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x40], 0xb
call fcn.0040ca84
mov ecx, eax
mov eax, edi
call fcn.00414e2f
push 0
push esi
lea ecx, [esp + 0x64]
mov byte [esp + 0x318], 0x36
call fcn.004055c2
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0xbc]
sub eax, esi
push 0x1c
cdq
pop ecx
idiv ecx
mov dword [esp + 0x38], eax
cmp esi, dword [esp + 0xc0]
jbe 0x427559
call fcn.005c4332
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0xc0]
cmp dword [esp + 0xbc], esi
jbe 0x427583
call fcn.005c4332
mov eax, dword [esp + 0x94]
test eax, eax
je 0x427597
cmp eax, dword [esp + 0xb0]
je 0x42759c
call fcn.005c4332
cmp dword [esp + 0x98], esi
je 0x427ca1
call fcn.00415754
test eax, eax
jne 0x427ca1
lea esi, [esp + 0x94]
call fcn.004d7920
push eax
lea ecx, [esp + 0x1ec]
call fcn.004051ae
mov byte [esp + 0x310], 0x3a
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xec], eax
lea eax, [esp + 0x1e8]
push eax
lea eax, [esp + 0x15c]
push eax
lea ebx, [esp + 0xfc]
call fcn.00412872
lea edi, [esp + 0xec]
mov esi, eax
call fcn.00584150
mov esi, dword [esp + 0x18]
test al, al
je 0x427660
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esi + 8]
call fcn.0040106a
xor ebx, ebx
push ebx
lea ecx, [esp + 0x1ec]
push ecx
mov byte [esp + 0x318], 0x3b
or dword [esp + 0x38], 2
push eax
call fcn.0040ca47
push eax
call fcn.0045561e
test eax, eax
jne 0x427662
mov byte [esp + 0x17], bl
jmp 0x427667
xor ebx, ebx
mov byte [esp + 0x17], 1
mov dword [esp + 0x310], 0x3a
test byte [esp + 0x30], 2
je 0x42768a
and dword [esp + 0x30], 0xfffffffd
push ebx
push 1
lea ecx, [esp + 0x64]
call fcn.004055c2
cmp byte [esp + 0x17], bl
je 0x427696
push ebx
jmp 0x427c58
lea eax, [esp + 0x1e8]
push eax
mov eax, dword [esp + 0x30]
call fcn.00415d14
mov edx, eax
push edx
lea ecx, [esp + 0x208]
call fcn.00415ce2
test eax, eax
jne 0x427690
cmp edx, 1
jl 0x427736
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x3c
cmp dword [esp + 0x200], 0x10
mov ecx, dword [esp + 0x1ec]
jae 0x4276ec
lea ecx, [esp + 0x1ec]
cmp dword [eax + 0x18], 0x10
jb 0x4276f7
mov eax, dword [eax + 4]
jmp 0x4276fa
add eax, 4
push ecx
push eax
call fcn.004010df
mov ebx, eax
call fcn.004e3235
push 0
push 1
lea ecx, [esp + 0x64]
mov esi, eax
mov byte [esp + 0x318], 0x3a
call fcn.004055c2
test esi, esi
je 0x427730
cmp dword [esi + 0xbc], 0
jne 0x427c56
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [esp + 0x228]
mov edi, dword [esp + 0x204]
push 0x2f
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], edi
call fcn.004010a2
mov ecx, eax
call fcn.00431cfc
test eax, eax
je 0x4277a7
push 0x2a
call fcn.004010a2
mov ecx, eax
call fcn.00431cfc
test eax, eax
jne 0x4277a7
cmp dword [esp + 0x200], 0x10
mov eax, dword [esp + 0x1ec]
jae 0x427788
lea eax, [esp + 0x1ec]
mov ecx, dword [esi + 0x140]
mov edx, dword [ecx]
push eax
call dword [edx + 0x6c]
test al, 1
je 0x4277a7
push 2
pop eax
cmp edi, eax
jle 0x4277a3
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ebx
push ebx
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x1e8], 0xf
call fcn.004055a6
mov byte [esp + 0x310], 0x3d
cmp dword [esp + 0x24], 2
jne 0x427901
cmp dword [esp + 0x34], ebx
je 0x4278a3
push ebx
push esi
lea edx, [esp + 0x1f0]
lea ecx, [esp + 0x64]
call fcn.0042824d
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x31c], 0x3e
call fcn.0040529a
push ebx
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x318], 0x3d
call fcn.004055c2
or dword [esp + 0x34], 0xffffffff
mov edi, str.X_PP_WA:
push edi
call fcn.005c3140
pop ecx
push eax
push edi
lea eax, [esp + 0x1d4]
push eax
xor eax, eax
call fcn.00406e21
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffff
je 0x427870
mov edi, 0x641dc0
push edi
call fcn.005c3140
pop ecx
push eax
push edi
lea eax, [esp + 0x1d4]
push eax
xor eax, eax
call fcn.00406e21
cmp eax, dword [esp + 0x1c]
jle 0x427870
mov dword [esp + 0x34], 0xfffffffe
mov ecx, dword [esi + 0x140]
mov eax, dword [ecx]
call dword [eax + 0x20]
test eax, eax
je 0x427887
mov dword [esp + 0x34], 0xfffffffe
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esi + 8]
call fcn.0040106a
mov edi, eax
mov byte [esp + 0x310], 0x3f
jmp 0x427967
lea eax, [esp + 0x1e8]
push eax
lea edi, [esp + 0x60]
mov ecx, esi
call fcn.0042820b
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x31c], 0x40
call fcn.0040529a
push ebx
push 1
mov ecx, edi
mov byte [esp + 0x318], 0x3d
call fcn.004055c2
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esi + 8]
call fcn.0040106a
mov edi, eax
mov byte [esp + 0x310], 0x41
mov dword [esp + 0x3c], 9
jmp 0x42796f
cmp dword [esp + 0x24], 3
jne 0x4279ae
push 1
push esi
lea edx, [esp + 0x1f0]
lea ecx, [esp + 0x64]
call fcn.0042824d
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x31c], 0x42
call fcn.0040529a
push ebx
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x318], 0x3d
call fcn.004055c2
or dword [esp + 0x34], 0xffffffff
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esi + 8]
call fcn.0040106a
mov edi, eax
mov byte [esp + 0x310], 0x43
mov dword [esp + 0x3c], 0xb
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.0040ca84
mov ecx, eax
mov eax, edi
call fcn.00414e2f
push ebx
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x318], 0x3d
call fcn.004055c2
call fcn.00415754
test eax, eax
jne 0x427c83
cmp dword [esp + 0x1e0], ebx
jne 0x4279d8
push ebx
push 1
lea ecx, [esp + 0x1d4]
call fcn.004055c2
jmp 0x427690
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x44
cmp dword [eax + 0x18], 0x10
jb 0x4279f8
mov eax, dword [eax + 4]
jmp 0x4279fb
add eax, 4
push eax
lea ecx, [esp + 0x80]
call fcn.004050f0
push ebx
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x318], 0x46
call fcn.004055c2
cmp dword [esp + 0x200], 0x10
mov eax, dword [esp + 0x1ec]
jae 0x427a34
lea eax, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x5c]
call fcn.004050f0
mov byte [esp + 0x310], 0x47
push dword [esp + 0x58]
push dword [esp + 0x80]
call fcn.004010df
mov ebx, eax
call fcn.004e3235
cmp dword [esp + 0x1e4], 0x10
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1d0]
jae 0x427a79
lea eax, [esp + 0x1d0]
push eax
lea ecx, [esp + 0x40]
call fcn.0040518c
push 0xffffffffffffffff
xor esi, esi
push esi
push esi
push esi
push esi
push 0xffffffffffffffff
mov byte [esp + 0x328], 0x48
push dword [esp + 0x4c]
lea eax, [esp + 0x74]
push dword [esp + 0x44]
push eax
push dword [esp + 0xa0]
call fcn.004010df
push eax
lea ecx, [esp + 0x68]
call fcn.004e272e
push esi
push 1
lea ecx, [esp + 0x44]
mov byte [esp + 0x318], 0x47
call fcn.004055c2
push dword [esp + 0x58]
push dword [esp + 0x80]
call fcn.004010df
mov ebx, eax
call fcn.004e3235
push 0x2f
mov esi, eax
call fcn.004010a2
mov ecx, eax
call fcn.00431cfc
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x427b1f
mov ecx, dword [ebx + 0x140]
push dword [esp + 0x58]
mov eax, dword [ecx]
call dword [eax + 0x6c]
test esi, esi
je 0x427b1f
test al, 1
je 0x427b1f
push 0
call fcn.004010df
push eax
call fcn.004dac72
mov edx, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x60]
test edx, edx
jl 0x427b8b
jg 0x427b2f
test ecx, ecx
jbe 0x427b8b
cmp edx, 0x7fffffff
jg 0x427b8b
jl 0x427b3e
cmp ecx, 0xffffffff
jae 0x427b8b
test esi, esi
je 0x427b8b
cmp dword [esi + 0xb4], 2
jne 0x427b8b
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x88]
mov dword [esp + 0xe4], eax
mov eax, dword [esi + 0x8c]
lea ecx, [esp + 0xe4]
mov dword [esp + 0x3c], esp
mov dword [esp + 0xe8], eax
call fcn.0041bf42
test al, al
je 0x427b8b
xor edi, edi
mov eax, esi
call fcn.004a0ce2
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x427bdc
cmp dword [esp + 0x24], 3
jne 0x427bdc
push 6
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 0
push eax
call fcn.0049fcff
push ecx
mov eax, esp
mov byte [esp + 0x31c], 0x49
mov dword [esp + 0x40], esp
push eax
mov eax, edi
call fcn.00416f8e
mov byte [esp + 0x31c], 0x4a
call fcn.00414e70
mov byte [esp + 0x31c], 0x47
call fcn.004d304d
push dword [esp + 0x28]
lea eax, [esp + 0x5c]
push ecx
mov dword [esp + 0x24], esp
mov ecx, esp
push eax
call fcn.00407aea
push ebx
call fcn.00415dd6
cmp dword [esp + 0x200], 0x10
mov eax, dword [esp + 0x1ec]
jae 0x427c0f
lea eax, [esp + 0x1ec]
push eax
push dword [esp + 0x80]
call fcn.004010df
mov ebx, eax
call fcn.00416f35
test eax, eax
je 0x427c2e
mov esi, eax
call fcn.004a16c4
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.00405172
mov ecx, dword [esp + 0x7c]
add ecx, 0xfffffff0
call fcn.00405172
push 0
push 1
lea ecx, [esp + 0x1d4]
call fcn.004055c2
push 0
push 1
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x318], 0x36
call fcn.004055c2
lea esi, [esp + 0x94]
call fcn.004137f4
inc dword [esp + 0x28]
jmp 0x42756e
push ebx
push 1
lea ecx, [esp + 0x1d4]
call fcn.004055c2
push ebx
push 1
lea ecx, [esp + 0x1f0]
call fcn.004055c2
lea esi, [esp + 0xb0]
call fcn.0040bc29
push dword [esp + 0xb0]
call fcn.0059a1ad
pop ecx
lea ecx, [esp + 0x2dc]
mov byte [esp + 0x310], 8
call fcn.0043048d
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
sub esp, 0x4c
mov eax, esp
mov dword [esp + 0x78], esp
push eax
lea ecx, [esp + 0x254]
call fcn.00415831
call fcn.004159dc
lea esi, [esp + 0x204]
mov byte [esp + 0x310], 3
call fcn.004150e9
call fcn.004156ca
test al, al
je 0x426289
jmp 0x427d52
lea ecx, [esp + 0x270]
jmp 0x427d23
lea ecx, [esp + 0x254]
push esi
push 1
call fcn.004055c2
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00405172
lea esi, [esp + 0x204]
mov byte [esp + 0x310], 3
call fcn.004150e9
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
xor esi, esi
push esi
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x4c], esp
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x330], 0x4b
call fcn.004010df
push eax
mov byte [esp + 0x334], 3
call fcn.004df82f
cmp dword [esp + 0x28c], 5
je 0x427d9a
cmp dword [esp + 0x28c], 8
jne 0x427e54
cmp dword [esp + 0x2a8], 0x10
mov eax, dword [esp + 0x294]
jae 0x427db2
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0x84]
call fcn.004050f0
lea eax, [esp + 0x5c]
mov byte [esp + 0x310], 0x4c
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x4d
cmp dword [eax + 0x18], 0x10
jb 0x427de7
mov eax, dword [eax + 4]
jmp 0x427dea
add eax, 4
push eax
lea ecx, [esp + 0x20]
call fcn.004050f0
mov byte [esp + 0x310], 0x4e
call fcn.004010df
mov ebx, eax
lea eax, [esp + 0x80]
lea ecx, [esp + 0x1c]
call fcn.004db794
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00405172
push 0
push 1
lea ecx, [esp + 0x64]
call fcn.004055c2
mov byte [esp + 0x310], 3
mov ecx, dword [esp + 0x80]
add ecx, 0xfffffff0
call fcn.00405172
and dword [esp + 0x28c], 0
mov edi, dword [esp + 0x18]
xor ebx, ebx
inc ebx
xor esi, esi
call fcn.00415754
test eax, eax
jne 0x427e6e
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 0x60]
mov dword [edi + 0x144], eax
mov eax, edi
call fcn.004280a5
push edi
call fcn.00415884
cmp dword [esp + 0x84], esi
jle 0x427e8b
push ebx
push edi
call fcn.00415ea1
cmp dword [esp + 0x88], esi
je 0x427ef1
cmp dword [esp + 0x130], esi
je 0x427ef1
lea eax, [esp + 0x114]
push eax
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x4c], esp
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x330], 0x4f
call fcn.004010df
mov ebx, eax
mov byte [esp + 0x330], 3
call fcn.004dcc5f
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0x2c]
push ecx
push eax
lea ecx, [esp + 0xfc]
call fcn.0041611f
mov edi, dword [esp + 0x18]
xor ebx, ebx
xor esi, esi
inc ebx
cmp dword [esp + 0xa0], esi
jne 0x427f45
cmp dword [esp + 0x84], esi
jle 0x427f3e
lea eax, [esp + 0x5c]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x50
or dword [esp + 0x30], 4
cmp dword [eax + 0x18], 0x10
jb 0x427f28
mov eax, dword [eax + 4]
jmp 0x427f2b
add eax, 4
push eax
push ecx
call fcn.0040cb83
add esp, 4
call fcn.00499f78
test eax, eax
jne 0x427f45
mov byte [esp + 0x17], 0
jmp 0x427f49
mov byte [esp + 0x17], bl
mov dword [esp + 0x310], 3
test byte [esp + 0x30], 4
je 0x427f66
push esi
push ebx
lea ecx, [esp + 0x64]
call fcn.004055c2
cmp byte [esp + 0x17], 0
je 0x42802d
mov ecx, dword [edi + 0x140]
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je 0x42802d
lea eax, [esp + 0x5c]
push eax
mov eax, dword [edi + 8]
mov dword [edi + 0x4c], ebx
call fcn.0040106a
mov esi, eax
or eax, 0xffffffff
mov byte [esp + 0x310], 0x51
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x40], 0xf
call fcn.0040ca84
mov ecx, eax
mov eax, esi
call fcn.00414e2f
push 0
push ebx
lea ecx, [esp + 0x64]
mov byte [esp + 0x318], 3
call fcn.004055c2
lea eax, [esp + 0x134]
push eax
mov eax, dword [edi + 8]
call fcn.0040106a
mov byte [esp + 0x310], 0x52
cmp dword [eax + 0x18], 0x10
jb 0x428003
mov eax, dword [eax + 4]
jmp 0x428006
add eax, 4
xor esi, esi
push esi
push eax
call fcn.0040cb83
call fcn.0049995a
push esi
push ebx
lea ecx, [esp + 0x13c]
mov byte [esp + 0x318], 3
call fcn.004055c2
mov dword [edi + 0x4c], esi
push edi
call fcn.0041633b
mov esi, edi
call fcn.00428d3c
lea esi, [esp + 0x28c]
call fcn.004150e9
lea eax, [esp + 0x114]
push eax
mov byte [esp + 0x314], bl
call fcn.0041a5e8
or dword [esp + 0x310], 0xffffffff
lea eax, [esp + 0xf4]
push eax
call fcn.00412745
jmp 0x428081
mov dword [edi + 0x144], 6
push edi
call fcn.00415884
mov ecx, dword [esp + 0x308]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2f0]
xor ecx, esp
call fcn.005c30b2
mov esp, ebp
pop ebp
ret