Function at 0x4062b0
Capabilities:
Receive http response

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x427ebf
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa10
mov eax, dword [0x43501c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x4371b4]
mov eax, dword [0x4371b8]
cmp ecx, eax
mov dword [ebp - 0x9f0], ecx
mov dword [ebp - 0xa04], eax
je 0x4073d4
cmp dword [0x435a6c], 0x10
mov eax, 0x435a58
mov ecx, dword [0x435be8]
mov esi, 2
cmovae eax, dword [0x435a58]
inc ecx
mov dword [ebp - 0x9fc], eax
xor eax, eax
cmp dword [0x435bec], 0x10
push 0
push 0
mov dword [ebp - 0x9e8], eax
mov eax, 0x435bd8
cmovae eax, dword [0x435bd8]
push ecx
push eax
push 0
push 0
mov dword [ebp - 0x8c8], 0
mov dword [ebp - 0x9f8], 0
mov dword [ebp - 0x9f4], ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov edi, eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004129af
add esp, 4
mov esi, eax
cmp dword [0x435bec], 0x10
mov eax, 0x435bd8
cmovae eax, dword [0x435bd8]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push dword [ebp - 0x9f4]
push eax
push 0
push 0
call edi
push esi
lea ecx, [ebp - 0x954]
call fcn.00408af0
push esi
call fcn.00412759
add esp, 4
push 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x954]
cmp dword [ebp - 0x940], 8
push 0
cmovae eax, dword [ebp - 0x954]
push 0
push 0
push eax
mov eax, dword [0x4370e4]
mov eax, dword [eax + 0x68]
call eax
mov edx, dword [ebp - 0x9f0]
mov ecx, edx
mov dword [ebp - 0x9f4], eax
mov eax, dword [edx + 0x10]
inc eax
cmp dword [edx + 0x14], 0x10
mov dword [ebp - 0x9dc], eax
jb 0x40641d
mov ecx, dword [edx]
push 0
push 0
push eax
push ecx
push 0
push 0
call edi
xor ecx, ecx
mov edi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004129af
mov ecx, dword [ebp - 0x9f0]
add esp, 4
mov esi, eax
mov eax, ecx
cmp dword [ecx + 0x14], 0x10
jb 0x406456
mov eax, dword [ecx]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push dword [ebp - 0x9dc]
push eax
push 0
push 0
call edi
push esi
lea ecx, [ebp - 0x8c0]
call fcn.00408af0
push esi
call fcn.00412759
add esp, 4
mov ecx, dword [ebp - 0x9f4]
lea eax, [ebp - 0x8c0]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x8ac], 8
cmovae eax, dword [ebp - 0x8c0]
test ecx, ecx
je 0x4064b8
push 0
push 0x50
push eax
mov eax, dword [0x4370e4]
push ecx
mov eax, dword [eax + 0x6c]
call eax
mov dword [ebp - 0x9f8], eax
mov eax, dword [0x435a50]
mov ecx, 0x435a40
push 0
inc eax
cmp dword [0x435a54], 0x10
push 0
cmovae ecx, dword [0x435a40]
push eax
push ecx
push 0
push 0
mov dword [ebp - 0x9dc], eax
call edi
xor ecx, ecx
mov edi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004129af
add esp, 4
mov esi, eax
cmp dword [0x435a54], 0x10
mov ecx, 0x435a40
cmovae ecx, dword [0x435a40]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push dword [ebp - 0x9dc]
push ecx
push 0
push 0
call edi
push esi
lea ecx, [ebp - 0x8a8]
call fcn.00408af0
push esi
call fcn.00412759
add esp, 4
mov byte [ebp - 4], 2
lea eax, [ebp - 0x8a8]
cmp dword [ebp - 0x894], 8
lea ecx, [ebp - 0xa1c]
mov edx, dword [0x437274]
cmovae eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x9ec], eax
call fcn.00411060
mov esi, eax
mov byte [ebp - 4], 3
mov ecx, esi
mov eax, dword [esi + 0x10]
inc eax
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x9e4], eax
jb 0x406586
mov ecx, dword [esi]
push 0
push 0
push eax
push ecx
push 0
push 0
call edi
xor ecx, ecx
mov dword [ebp - 0x9dc], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004129af
add esp, 4
mov edi, eax
cmp dword [esi + 0x14], 0x10
jb 0x4065bb
mov esi, dword [esi]
push dword [ebp - 0x9dc]
push edi
push dword [ebp - 0x9e4]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
call esi
push edi
lea ecx, [ebp - 0x890]
call fcn.00408af0
push edi
call fcn.00412759
add esp, 4
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xa08]
cmp ecx, 0x10
jb 0x406628
mov edx, dword [ebp - 0xa1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40661e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
mov ecx, dword [ebp - 0x9f8]
cmovae eax, dword [ebp - 0x890]
mov dword [ebp - 0xa0c], 0
mov dword [ebp - 0xa08], 0xf
mov byte [ebp - 0xa1c], 0
test ecx, ecx
je 0x406683
push 0
push 0
push 0
push 0
push eax
mov eax, dword [0x4370e4]
push dword [ebp - 0x9ec]
push ecx
mov eax, dword [eax + 0x70]
call eax
mov dword [ebp - 0x9e8], eax
jmp 0x406689
mov eax, dword [ebp - 0x9e8]
push 4
lea ecx, [ebp - 0x8c4]
mov dword [ebp - 0x8c4], 2
push ecx
mov ecx, dword [0x4370e4]
push 0x3f
push eax
mov eax, dword [ecx + 0x74]
call eax
mov ecx, dword [0x435c00]
mov eax, 0x435bf0
push 0
inc ecx
cmp dword [0x435c04], 0x10
push 0
cmovae eax, dword [0x435bf0]
push ecx
push eax
push 0
push 0
mov dword [ebp - 0x9ec], ecx
call esi
xor ecx, ecx
mov edi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004129af
add esp, 4
mov esi, eax
cmp dword [0x435c04], 0x10
mov ecx, 0x435bf0
cmovae ecx, dword [0x435bf0]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push dword [ebp - 0x9ec]
push ecx
push 0
push 0
call edi
push esi
lea ecx, [ebp - 0x878]
call fcn.00408af0
push esi
call fcn.00412759
add esp, 4
mov byte [ebp - 4], 6
lea edi, [ebp - 0x878]
mov esi, dword [ebp - 0x864]
cmp esi, 8
cmovae edi, dword [ebp - 0x878]
cmp dword [ebp - 0x9e8], 0
je 0x406fe2
mov esi, dword [ebp - 0x9fc]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406762
mov eax, dword [0x4370e4]
sub ecx, edx
push 0
push ecx
push 0
mov eax, dword [eax + 0x78]
push 0
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x9e8]
push edi
call eax
test eax, eax
je 0x406fd1
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406793
lea eax, [ebp - 0x8c8]
sub ecx, edx
push eax
mov eax, dword [0x4370e4]
push ecx
push esi
push edi
mov eax, dword [eax + 0x7c]
call eax
test eax, eax
je 0x406fd1
mov eax, dword [0x4370e4]
push 0
push edi
mov eax, dword [eax + 0x60]
call eax
test eax, eax
je 0x406fd1
push 0x7fc
lea eax, [ebp - 0x814]
mov dword [ebp - 0x818], 0
push 0
push eax
call fcn.00415890
add esp, 0xc
mov dword [ebp - 0x8cc], 0x3ff
lea eax, [ebp - 0x8cc]
push 0
push eax
lea eax, [ebp - 0x818]
push eax
mov eax, dword [0x4370e4]
push 0
push 0x16
push edi
mov eax, dword [eax + 0x80]
call eax
mov dword [ebp - 0x9ec], eax
lea ecx, [ebp - 0x8f0]
lea eax, [ebp - 0x818]
push eax
call fcn.00408af0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8f0]
cmp dword [ebp - 0x8dc], 8
mov eax, dword [ebp - 0x8e0]
jb 0x406855
mov edx, dword [ebp - 0x8f0]
lea esi, [edx + eax*2]
jmp 0x40685e
lea esi, [ecx + eax*2]
lea edx, [ebp - 0x8f0]
mov dword [ebp - 0x9dc], edx
xorps xmm0, xmm0
movups xmmword [ebp - 0x830], xmm0
cmp edx, esi
jne 0x406892
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0xf
mov byte [ebp - 0x830], 0
jmp 0x4069ba
mov ecx, esi
xor eax, eax
sub ecx, edx
mov dword [ebp - 0x9e4], eax
sar ecx, 1
mov edi, 0xf
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x81c], edi
cmp ecx, 0x7fffffff
ja 0x4073f9
cmp ecx, 0x10
jb 0x406965
mov edi, ecx
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x4068da
mov edi, 0x7fffffff
jmp 0x4068e5
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
xor ecx, ecx
mov eax, edi
add eax, 1
setb cl
neg ecx
or ecx, eax
cmp ecx, 0x1000
jb 0x406934
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x4073f4
push eax
call fcn.004126f8
add esp, 4
test eax, eax
je 0x4073fe
mov edx, dword [ebp - 0x9dc]
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x9e4], eax
jmp 0x406959
test ecx, ecx
je 0x406957
push ecx
call fcn.004126f8
mov edx, dword [ebp - 0x9dc]
mov ecx, eax
mov eax, dword [ebp - 0x820]
add esp, 4
mov dword [ebp - 0x9e4], eax
jmp 0x406959
xor ecx, ecx
mov dword [ebp - 0x830], ecx
mov dword [ebp - 0x81c], edi
mov al, byte [edx]
lea ecx, [ebp - 0x830]
cmp edi, 0x10
mov edi, dword [ebp - 0x9e4]
cmovae ecx, dword [ebp - 0x830]
add edx, 2
mov byte [edi + ecx], al
mov ecx, dword [ebp - 0x820]
inc ecx
mov dword [ebp - 0x9e4], ecx
mov dword [ebp - 0x820], ecx
cmp edx, esi
je 0x4069a2
mov edi, dword [ebp - 0x81c]
jmp 0x406965
cmp dword [ebp - 0x81c], 0x10
lea eax, [ebp - 0x830]
cmovae eax, dword [ebp - 0x830]
mov byte [ecx + eax], 0
push ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x904]
xorps xmm0, xmm0
mov dword [ebp - 0x8f4], 0
push 0x435aa0
movups xmmword [ebp - 0x904], xmm0
call fcn.00409180
mov byte [ebp - 4], 9
lea edx, [ebp - 0x830]
xorps xmm0, xmm0
mov dword [ebp - 0x8d0], 0
push 0x435c20
lea ecx, [ebp - 0x8d8]
movq qword [ebp - 0x8d8], xmm0
call fcn.004051f0
add esp, 4
mov eax, dword [ebp - 0x8d4]
mov edi, dword [ebp - 0x8d8]
mov dword [ebp - 0x9fc], eax
cmp edi, eax
je 0x406ecb
nop
push 0x38
lea eax, [ebp - 0x93c]
push 0
push eax
call fcn.00415890
xorps xmm0, xmm0
mov dword [ebp - 0x93c], 0
add esp, 0xc
mov byte [ebp - 0x938], 0
movups xmmword [ebp - 0x934], xmm0
mov dword [ebp - 0x924], 0
mov byte [ebp - 0x920], 0
mov dword [ebp - 0x91c], 0
mov dword [ebp - 0x918], 0
mov byte [ebp - 0x914], 0
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x90c], 0
mov byte [ebp - 0x908], 0
mov byte [ebp - 4], 0xb
cmp dword [edi + 0x14], 0x10
mov esi, dword [edi + 0x10]
jb 0x406abe
mov eax, dword [edi]
add esi, dword [edi]
mov dword [ebp - 0x9dc], eax
jmp 0x406ac6
add esi, edi
mov dword [ebp - 0x9dc], edi
cmp dword [ebp - 0x904], 0
je 0x406b43
push 0x80
lea eax, [ebp - 0x9d8]
push 0
push eax
call fcn.00415890
mov eax, dword [ebp - 0x904]
lea ecx, [ebp - 0x9d8]
add esp, 0xc
push 0
push dword [eax + 0x14]
push dword [eax + 0x1c]
push eax
lea eax, [ebp - 0x900]
push eax
push esi
push dword [ebp - 0x9dc]
call fcn.00409bb0
push 1
lea eax, [ebp - 0x93c]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x9d8]
call fcn.0040a670
lea ecx, [ebp - 0x9d8]
mov byte [ebp - 0x9dd], al
mov byte [ebp - 4], 0xb
call fcn.00409a40
cmp byte [ebp - 0x9dd], 0
jne 0x406b62
lea ecx, [ebp - 0x934]
call fcn.00408f90
add edi, 0x18
cmp edi, dword [ebp - 0x9fc]
jne 0x406a30
jmp 0x406ecb
mov edi, dword [ebp - 0x930]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x934]
mov ecx, edi
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x910]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jbe 0x406b90
lea ecx, [esi + 0x18]
cmp byte [ecx + 8], 0
je 0x406ba5
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, edx
mov dword [ebp - 0x9fc], edx
jmp 0x406bab
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x838], 0
xorps xmm0, xmm0
mov dword [ebp - 0x834], 0
movups xmmword [ebp - 0x848], xmm0
cmp eax, edx
jne 0x406bea
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0xf
mov byte [ebp - 0x848], 0
jmp 0x406c05
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x848]
call fcn.004016f0
mov edi, dword [ebp - 0x930]
mov esi, dword [ebp - 0x934]
sub edi, esi
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x406c28
lea esi, [ebp - 0x910]
jmp 0x406c2b
add esi, 0xc
cmp byte [esi + 8], 0
je 0x406c40
mov edx, dword [esi + 4]
mov ecx, edx
mov eax, dword [esi]
mov dword [ebp - 0x9fc], edx
jmp 0x406c46
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x850], 0
xorps xmm0, xmm0
mov dword [ebp - 0x84c], 0
movups xmmword [ebp - 0x860], xmm0
cmp eax, edx
jne 0x406c83
xor edx, edx
mov ecx, 0xf
mov dword [ebp - 0x850], edx
mov dword [ebp - 0x84c], ecx
mov byte [ebp - 0x860], dl
jmp 0x406c9e
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x860]
call fcn.004016f0
mov ecx, dword [ebp - 0x84c]
mov edx, dword [ebp - 0x850]
mov byte [ebp - 4], 0xe
lea esi, [ebp - 0x860]
cmp ecx, 0x10
jb 0x406cb9
mov eax, dword [ebp - 0x860]
mov esi, eax
mov edi, eax
jmp 0x406cc1
lea edi, [ebp - 0x860]
mov eax, esi
add edi, edx
cmp eax, edi
je 0x406ce6
movsx eax, byte [esi]
push eax
call fcn.004176e8
mov byte [esi], al
add esp, 4
inc esi
cmp esi, edi
jne 0x406cc7
mov ecx, dword [ebp - 0x84c]
mov edx, dword [ebp - 0x850]
cmp ecx, 0x10
lea eax, [ebp - 0x860]
push edx
cmovae eax, dword [ebp - 0x860]
mov ecx, 0x435ba8
push eax
call fcn.00409050
mov edx, dword [0x437274]
lea ecx, [ebp - 0xa1c]
call fcn.00411060
push ecx
push eax
lea ecx, [ebp - 0x848]
call fcn.00408c20
mov ecx, dword [ebp - 0xa08]
mov esi, eax
cmp ecx, 0x10
jb 0x406d5c
mov edx, dword [ebp - 0xa1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406d52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
lea eax, [ebp - 0x848]
cmp esi, 0xffffffff
jle 0x406e0a
cmp dword [ebp - 0x838], esi
lea ecx, [ebp - 0xa1c]
xorps xmm0, xmm0
mov dword [ebp - 0xa0c], 0
cmovb esi, dword [ebp - 0x838]
cmp dword [ebp - 0x834], 0x10
push esi
cmovae eax, dword [ebp - 0x848]
push eax
movups xmmword [ebp - 0xa1c], xmm0
mov dword [ebp - 0xa08], 0
call fcn.004016f0
mov ecx, dword [0x435b44]
cmp ecx, 0x10
jb 0x406dea
mov eax, dword [0x435b30]
inc ecx
cmp ecx, 0x1000
jb 0x406de0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
mov eax, edx
push ecx
push eax
call fcn.00412728
add esp, 8
movups xmm0, xmmword [ebp - 0xa1c]
movups xmmword [0x435b30], xmm0
movq xmm0, qword [ebp - 0xa0c]
movq qword [0x435b40], xmm0
jmp 0x406e29
cmp dword [ebp - 0x834], 0x10
mov ecx, 0x435b30
push dword [ebp - 0x838]
cmovae eax, dword [ebp - 0x848]
push eax
call fcn.00409050
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x84c]
cmp ecx, 0x10
jb 0x406e67
mov edx, dword [ebp - 0x860]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406e5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x834]
cmp ecx, 0x10
jb 0x406ea5
mov edx, dword [ebp - 0x848]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406e9b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
lea ecx, [ebp - 0x934]
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0xf
mov byte [ebp - 0x848], 0
call fcn.00408f90
lea ecx, [ebp - 0x8d8]
call fcn.004089f0
lea ecx, [ebp - 0x904]
call fcn.00409000
mov ecx, dword [ebp - 0x8f4]
test ecx, ecx
je 0x406efe
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x406efe
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x81c]
cmp ecx, 0x10
jb 0x406f3c
mov edx, dword [ebp - 0x830]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406f32
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x8dc]
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x81c], 0xf
mov byte [ebp - 0x830], 0
cmp ecx, 8
jb 0x406f9b
mov edx, dword [ebp - 0x8f0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x406f91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov edi, dword [ebp - 0x9e8]
xor eax, eax
mov word [ebp - 0x8f0], ax
mov eax, dword [ebp - 0x9ec]
mov dword [ebp - 0x8e0], 0
mov dword [ebp - 0x8dc], 7
test eax, eax
je 0x406fd1
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov eax, dword [0x4370e4]
push edi
mov eax, dword [eax + 0x64]
call eax
mov esi, dword [ebp - 0x864]
mov eax, dword [ebp - 0x9f8]
test eax, eax
je 0x406ffd
push eax
mov eax, dword [0x4370e4]
mov eax, dword [eax + 0x64]
call eax
mov esi, dword [ebp - 0x864]
mov eax, dword [ebp - 0x9f4]
test eax, eax
je 0x407018
push eax
mov eax, dword [0x4370e4]
mov eax, dword [eax + 0x64]
call eax
mov esi, dword [ebp - 0x864]
cmp dword [0x435b44], 0x10
mov ecx, 0x435b30
mov edx, dword [0x435b40]
cmovae ecx, dword [0x435b30]
push 0
push 0x4314d1
call fcn.0040a810
add esp, 8
test al, al
je 0x407226
mov byte [ebp - 4], 5
cmp esi, 8
jb 0x407086
mov ecx, dword [ebp - 0x878]
lea esi, [esi*2 + 2]
mov eax, ecx
cmp esi, 0x1000
jb 0x40707c
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push esi
push ecx
call fcn.00412728
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x87c]
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 7
mov word [ebp - 0x878], ax
cmp ecx, 8
jb 0x4070e7
mov edx, dword [ebp - 0x890]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4070dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
xor eax, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x894]
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 7
mov word [ebp - 0x890], ax
cmp ecx, 8
jb 0x407148
mov edx, dword [ebp - 0x8a8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40713e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
xor eax, eax
mov dword [ebp - 0x898], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x894], 7
mov word [ebp - 0x8a8], ax
cmp ecx, 8
jb 0x4071a8
mov edx, dword [ebp - 0x8c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40719e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x940]
mov dword [ebp - 0x8b0], 0
mov dword [ebp - 0x8ac], 7
mov word [ebp - 0x8c0], ax
cmp ecx, 8
jb 0x40720c
mov edx, dword [ebp - 0x954]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407202
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov eax, dword [ebp - 0x9f0]
add eax, 0x18
cmp eax, dword [ebp - 0xa04]
mov dword [ebp - 0x9f0], eax
jmp 0x40630a
cmp esi, 8
jb 0x407260
mov ecx, dword [ebp - 0x878]
lea esi, [esi*2 + 2]
mov eax, ecx
cmp esi, 0x1000
jb 0x407256
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push esi
push ecx
call fcn.00412728
add esp, 8
mov ecx, dword [ebp - 0x87c]
xor eax, eax
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 7
mov word [ebp - 0x878], ax
cmp ecx, 8
jb 0x4072bd
mov edx, dword [ebp - 0x890]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4072b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov ecx, dword [ebp - 0x894]
xor eax, eax
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 7
mov word [ebp - 0x890], ax
cmp ecx, 8
jb 0x40731a
mov edx, dword [ebp - 0x8a8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407310
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov ecx, dword [ebp - 0x8ac]
xor eax, eax
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 7
mov word [ebp - 0x8a8], ax
cmp ecx, 8
jb 0x407377
mov edx, dword [ebp - 0x8c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40736d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov ecx, dword [ebp - 0x940]
xor eax, eax
mov dword [ebp - 0x8b0], 0
mov dword [ebp - 0x8ac], 7
mov word [ebp - 0x8c0], ax
cmp ecx, 8
jb 0x4073d0
mov edx, dword [ebp - 0x954]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4073c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4073fe
push ecx
push edx
call fcn.00412728
add esp, 8
mov al, 1
jmp 0x4073d6
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004126ea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004012c0
call fcn.00401360
call fcn.0041731f
int3