Function at 0x4033d0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c5d6d
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x11b0
call fcn.0043c5a0
mov eax, dword [0x4fa534]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1174], ecx
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x1184], eax
mov dword [ebp - 0x11a4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1180], eax
mov dword [ebp - 0x11a8], eax
xor al, al
mov dword [ebp - 0x117c], ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 0x1165], al
xor eax, eax
mov dword [ebp - 0x11a0], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10d8], ebx
mov dword [ebp - 0x1178], ebx
mov dword [ebp - 0x10c8], ebx
mov dword [ebp - 0x10c4], 7
mov word [ebp - 0x10d8], ax
mov dword [ebp - 0x1048], eax
mov dword [ebp - 0x1038], eax
mov dword [ebp - 0x1034], 7
mov word [ebp - 0x1048], ax
lea eax, [ebp - 0x116c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x1048]
mov dword [ebp - 0x116c], 0x50
push eax
lea edx, [ebp - 0x10d8]
call fcn.00405600
mov esi, dword [ebp - 0x116c]
mov eax, 0x1bb
add esp, 8
cmp si, ax
jne 0x40356a
mov edx, dword [ebp - 0x1034]
cmp edx, 8
jb 0x403506
mov ecx, dword [ebp - 0x1048]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4034fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x10c4]
xor eax, eax
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1034], 7
mov word [ebp - 0x1048], ax
cmp edx, 8
jb 0x403563
mov ecx, dword [ebp - 0x10d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403559
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
xor al, al
jmp 0x4043be
lea edx, [ebp - 0x10d8]
lea ecx, [ebp - 0x10c0]
call fcn.00404da0
push esi
mov esi, dword [ebp - 0x1174]
lea eax, [ebp - 0x10c0]
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.00401ff0
test al, al
je 0x4043dc
cmp dword [ebp - 0x10b0], 0
je 0x403620
lea eax, [ebp - 0x10c0]
mov dword [ebp - 0x10f4], str.Host
push eax
lea ecx, [ebp - 0x10f0]
call fcn.00410840
mov ebx, 2
lea eax, [ebp - 0x10f4]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x11b0]
push eax
lea ecx, [esi + 0x70]
call fcn.00410160
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x10dc]
cmp edx, 0x10
jb 0x403620
mov ecx, dword [ebp - 0x10f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403614
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
nop
mov byte [ebp - 4], 5
or ebx, 4
mov edx, dword [ebp - 0x1038]
mov ecx, 0xf
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x1020], 0
mov dword [ebp - 0x101c], ecx
mov byte [ebp - 0x1030], 0
mov dword [ebp - 0x1170], ebx
mov dword [ebp - 0x117c], ebx
test edx, edx
je 0x403705
cmp dword [ebp - 0x1034], 8
lea eax, [ebp - 0x1048]
push 0
cmovae eax, dword [ebp - 0x1048]
push 0
push 0
push 0
push edx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
je 0x4036ff
lea ebx, [edi + 1]
push ebx
call fcn.0043c472
add esp, 4
mov esi, eax
push ebx
push 0
push esi
call fcn.00464bd0
add esp, 0xc
lea eax, [ebp - 0x1048]
cmp dword [ebp - 0x1034], 8
cmovae eax, dword [ebp - 0x1048]
push 0
push 0
push edi
push esi
push dword [ebp - 0x1038]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
lea ecx, [ebp - 0x1030]
mov byte [edi + esi], 0
call fcn.00404c00
push esi
call fcn.0043c47b
mov esi, dword [ebp - 0x1174]
add esp, 4
mov ebx, dword [ebp - 0x1170]
mov ecx, dword [ebp - 0x101c]
lea edx, [esi + 0x58]
lea eax, [ebp - 0x1030]
cmp edx, eax
je 0x403730
push dword [ebp - 0x1020]
cmp ecx, 0x10
mov ecx, edx
cmovae eax, dword [ebp - 0x1030]
push eax
call fcn.00406f50
mov ecx, dword [ebp - 0x101c]
and ebx, 0xfffffffb
mov byte [ebp - 4], 3
mov dword [ebp - 0x1170], ebx
cmp ecx, 0x10
jb 0x403773
lea edx, [ecx + 1]
mov ecx, dword [ebp - 0x1030]
mov eax, ecx
cmp edx, 0x1000
jb 0x403769
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4043f7
push edx
push ecx
call fcn.0043c464
add esp, 8
push ecx
lea eax, [ebp - 0x1090]
push eax
lea ecx, [esi + 0x20]
call fcn.0040e450
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1090]
cmp dword [ebp - 0x107c], 0x10
push 0
push dword [ebp - 0x1080]
cmovae eax, dword [ebp - 0x1090]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x4043fc
xor edi, edi
xor bl, bl
mov dword [ebp - 0x116c], edi
push 0
push 0x1000
lea eax, [ebp - 0x1018]
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
mov dword [ebp - 0x11ac], esi
cmp esi, 0xffffffff
je 0x404417
test esi, esi
je 0x404212
lea eax, [ebp - 0x1018]
push esi
push eax
test bl, bl
jne 0x4041dd
mov dword [ebp - 0x1078], 0
lea ecx, [ebp - 0x1078]
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0xf
mov byte [ebp - 0x1078], bl
call fcn.00406f50
mov byte [ebp - 4], 7
lea edi, [ebp - 0x1078]
cmp dword [ebp - 0x1064], 0x10
mov eax, dword [ebp - 0x1068]
cmovae edi, dword [ebp - 0x1078]
cmp eax, 4
jb 0x404432
lea ebx, [eax + edi]
lea eax, [ebx - 3]
sub eax, edi
push eax
push 0xd
push edi
call fcn.00465610
mov esi, eax
add esp, 0xc
test esi, esi
je 0x404432
mov ecx, esi
mov edx, str._r_n_r_n
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x40389d
cmp al, byte [edx]
jne 0x4038a1
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4038a1
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4038a1
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4038a1
xor eax, eax
jmp 0x4038a6
sbb eax, eax
or eax, 1
test eax, eax
je 0x4038c8
inc esi
lea eax, [ebx - 3]
sub eax, esi
push eax
push 0xd
push esi
call fcn.00465610
mov esi, eax
add esp, 0xc
test esi, esi
je 0x404432
jmp 0x403874
sub esi, edi
cmp esi, 0xffffffff
je 0x404432
push esi
lea eax, [ebp - 0x1018]
mov dword [ebp - 0x1060], 0
push eax
lea ecx, [ebp - 0x1060]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
call fcn.00406f50
lea eax, [ebp - 0x1060]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x1164]
call fcn.0040dd70
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1160]
cmp eax, 0x194
je 0x40444d
cmp eax, 0x12c
jle 0x403e97
cmp eax, 0x190
jge 0x403e97
mov esi, dword [str.Location]
mov edi, 0xf
mov eax, dword [0x4e8d10]
mov dword [ebp - 0x10f8], edi
mov dword [ebp - 0x10fc], 8
mov dword [ebp - 0x110c], esi
mov dword [ebp - 0x1108], eax
mov byte [ebp - 0x1104], 0
lea eax, [ebp - 0x110c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x10f0]
push eax
lea ecx, [ebp - 0x1164]
call fcn.0040df50
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1030]
call fcn.00406250
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x10dc]
cmp edx, 0x10
jb 0x4039eb
mov ecx, dword [ebp - 0x10f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4039e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4043f7
push edx
push ecx
call fcn.0043c464
add esp, 8
mov dword [ebp - 0x10e0], 0
mov dword [ebp - 0x10dc], 0xf
mov byte [ebp - 0x10f0], 0
push 0
push 0x4e8d2c
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 0xe
call fcn.00405030
test eax, eax
je 0x403bec
push 0
push 0x4e8d3c
lea ecx, [ebp - 0x1030]
call fcn.00405030
test eax, eax
je 0x403bec
cmp dword [ebp - 0x101c], 8
lea eax, [ebp - 0x1030]
push dword [ebp - 0x1020]
cmovae eax, dword [ebp - 0x1030]
lea ecx, [ebp - 0x1048]
push eax
call fcn.004053d0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x101c]
cmp edx, 8
jb 0x403aa8
mov ecx, dword [ebp - 0x1030]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403a9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
xor eax, eax
mov dword [ebp - 0x1020], 0
lea ecx, [ebp - 0x1164]
mov dword [ebp - 0x101c], 7
mov word [ebp - 0x1030], ax
call fcn.0040de50
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x104c]
cmp edx, 0x10
jb 0x403b0e
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403b04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
cmp edx, 0x10
jb 0x403b67
mov ecx, dword [ebp - 0x1078]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403b5d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0xf
mov byte [ebp - 0x1078], 0
cmp edx, 0x10
jb 0x403bc0
mov ecx, dword [ebp - 0x1090]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403bb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov esi, dword [ebp - 0x1174]
mov ebx, dword [ebp - 0x1170]
mov dword [ebp - 0x1080], 0
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
jmp 0x403620
mov ebx, dword [ebp - 0x1174]
mov eax, dword [ebx + 4]
cmp eax, 0xffffffff
je 0x403c08
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebx + 4], 0xffffffff
push dword [ebp - 0x1180]
cmp dword [ebp - 0x101c], 8
lea edx, [ebp - 0x1030]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x1184]
cmovae edx, dword [ebp - 0x1030]
push ecx
mov eax, dword [eax + 8]
mov ecx, ebx
push edx
call eax
mov edx, dword [ebp - 0x101c]
mov bl, al
cmp edx, 8
jb 0x403c75
mov ecx, dword [ebp - 0x1030]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403c6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
xor eax, eax
mov dword [ebp - 0x1020], 0
lea ecx, [ebp - 0x1164]
mov dword [ebp - 0x101c], 7
mov word [ebp - 0x1030], ax
call fcn.0040de50
mov edx, dword [ebp - 0x104c]
cmp edx, 0x10
jb 0x403cd7
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403ccd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
cmp edx, 0x10
jb 0x403d2c
mov ecx, dword [ebp - 0x1078]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403d22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0xf
mov byte [ebp - 0x1078], 0
cmp edx, 0x10
jb 0x403d81
mov ecx, dword [ebp - 0x1090]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403d77
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1080], 0
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
cmp edx, 0x10
jb 0x403dd6
mov ecx, dword [ebp - 0x10c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403dcc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x1034]
mov dword [ebp - 0x10b0], 0
mov dword [ebp - 0x10ac], 0xf
mov byte [ebp - 0x10c0], 0
cmp edx, 8
jb 0x403e31
mov ecx, dword [ebp - 0x1048]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403e27
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x10c4]
xor eax, eax
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1034], 7
mov word [ebp - 0x1048], ax
cmp edx, 8
jb 0x4043bc
mov ecx, dword [ebp - 0x10d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403e88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404468
push edx
push ecx
call fcn.0043c464
add esp, 8
jmp 0x4043bc
mov eax, dword [0x4e8d20]
movq xmm0, qword [str.Content_Length]
mov dword [ebp - 0x1028], eax
mov ax, word [0x4e8d24]
mov dword [ebp - 0x101c], 0xf
mov dword [ebp - 0x1020], 0xe
movq qword [ebp - 0x1030], xmm0
mov word [ebp - 0x1024], ax
mov byte [ebp - 0x1022], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1114]
mov eax, dword [ebp - 0x1170]
mov ebx, 0xf
or eax, 8
mov dword [ebp - 0x10a8], 0
mov dword [ebp - 0x1170], eax
mov dword [ebp - 0x117c], eax
lea eax, [ebp - 0x1030]
push eax
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0x1098], 0
push eax
mov dword [ebp - 0x1094], ebx
mov byte [ebp - 0x10a8], 0
call fcn.00410580
mov edi, dword [ebp - 0x11b8]
cmp byte [edi + 0xd], 0
jne 0x403f5a
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x1030]
push eax
call fcn.00410760
test al, al
jne 0x403f5a
mov eax, dword [ebp - 0x1114]
jmp 0x403f62
mov eax, dword [ebp - 0x1114]
mov edi, eax
cmp edi, eax
je 0x403f92
lea eax, [edi + 0x28]
lea ecx, [ebp - 0x10a8]
cmp ecx, eax
je 0x403f92
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x403f7d
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x10a8]
call fcn.00406f50
mov ebx, dword [ebp - 0x1094]
cmp ebx, 0x10
lea eax, [ebp - 0x10a8]
cmovae eax, dword [ebp - 0x10a8]
push eax
call fcn.0048f182
and dword [ebp - 0x1170], 0xfffffff7
add esp, 4
mov byte [ebp - 4], 0xf
mov edi, eax
mov edx, dword [ebp - 0x1094]
cmp edx, 0x10
jb 0x403ff2
mov ecx, dword [ebp - 0x10a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403fe8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4043f7
push edx
push ecx
call fcn.0043c464
add esp, 8
mov eax, dword [ebp - 0x1180]
mov byte [ebp - 4], 9
mov dword [ebp - 0x1098], 0
mov dword [ebp - 0x1094], 0xf
mov dword [eax], edi
lea eax, [edi - 1]
mov byte [ebp - 0x10a8], 0
cmp eax, 0x7fffff
ja 0x404472
push edi
call fcn.00470500
mov ebx, dword [ebp - 0x11ac]
add esp, 4
sub ebx, esi
mov ecx, eax
sub ebx, 4
mov dword [ebp - 0x1178], ecx
test ebx, ebx
jle 0x40406d
lea eax, [ebp - 0x1014]
add eax, esi
mov esi, dword [ebp - 0x116c]
push ebx
push eax
lea eax, [esi + ecx]
push eax
call fcn.004640d0
add esp, 0xc
add esi, ebx
mov dword [ebp - 0x116c], esi
jmp 0x404073
mov esi, dword [ebp - 0x116c]
lea ecx, [ebp - 0x1164]
mov bl, 1
call fcn.0040de50
cmp edi, esi
jne 0x404120
mov edx, dword [ebp - 0x104c]
cmp edx, 0x10
jb 0x4040c2
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4040b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40446d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
cmp edx, 0x10
jb 0x404218
mov ecx, dword [ebp - 0x1078]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404111
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40446d
push edx
push ecx
call fcn.0043c464
add esp, 8
jmp 0x404218
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x104c]
cmp edx, 0x10
jb 0x40415e
mov ecx, dword [ebp - 0x1060]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404154
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40446d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 0xf
mov byte [ebp - 0x1060], 0
cmp edx, 0x10
jb 0x4041b7
mov ecx, dword [ebp - 0x1078]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4041ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40446d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov esi, dword [ebp - 0x1174]
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0xf
mov byte [ebp - 0x1078], 0
jmp 0x4037c0
mov eax, dword [ebp - 0x116c]
add eax, dword [ebp - 0x1178]
push eax
call fcn.004640d0
mov eax, dword [ebp - 0x116c]
add esp, 0xc
add eax, esi
mov esi, dword [ebp - 0x1174]
mov dword [ebp - 0x116c], eax
cmp eax, edi
jl 0x4037c0
mov bl, 1
jmp 0x404218
mov bl, byte [ebp - 0x1165]
mov edx, dword [ebp - 0x107c]
cmp edx, 0x10
jb 0x404252
mov ecx, dword [ebp - 0x1090]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404248
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1080], 0
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
cmp edx, 0x10
jb 0x4042a7
mov ecx, dword [ebp - 0x10c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40429d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x1034]
mov dword [ebp - 0x10b0], 0
mov dword [ebp - 0x10ac], 0xf
mov byte [ebp - 0x10c0], 0
cmp edx, 8
jb 0x404302
mov ecx, dword [ebp - 0x1048]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4042f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
mov edx, dword [ebp - 0x10c4]
xor eax, eax
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1034], 7
mov word [ebp - 0x1048], ax
cmp edx, 8
jb 0x40435f
mov ecx, dword [ebp - 0x10d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40448d
push edx
push ecx
call fcn.0043c464
add esp, 8
test bl, bl
je 0x4043bc
mov ecx, dword [ebp - 0x1184]
mov eax, dword [ebp - 0x1178]
mov dword [ecx], eax
jmp 0x4043bc
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043c480
mov esp, ebp
pop ebp
ret 0xc
push 0x4f7ecc
lea eax, [ebp - 0x1188]
mov dword [ebp - 0x1188], 1
push eax
call fcn.00464e01
call fcn.00470977
push 0x4f7ecc
lea eax, [ebp - 0x118c]
mov dword [ebp - 0x118c], 3
push eax
call fcn.00464e01
push 0x4f7ecc
lea eax, [ebp - 0x1190]
mov dword [ebp - 0x1190], 0xa
push eax
call fcn.00464e01
push 0x4f7ecc
lea eax, [ebp - 0x119c]
mov dword [ebp - 0x119c], 0xd
push eax
call fcn.00464e01
push 0x4f7ecc
lea eax, [ebp - 0x1194]
mov dword [ebp - 0x1194], 5
push eax
call fcn.00464e01
call fcn.00470977
call fcn.00470977
push 0x4f7ecc
lea eax, [ebp - 0x1198]
mov dword [ebp - 0x1198], 0xc
push eax
call fcn.00464e01
call fcn.00470977
int3