Function at 0x41bac0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54ef31
mov eax, dword fs:[0]
push eax
sub esp, 0x394
mov eax, dword [0x5aa464]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xe
xor eax, eax
mov dword [ebp - 0x344], 7
push str.start_download
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x348], 0
mov word [ebp - 0x358], ax
call fcn.00406720
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x370]
push 0x3e
xor eax, eax
mov dword [ebp - 0x35c], 7
push str._P_05d__T_05d___04d__02d__02d__02d:_02d:_02d._03d___s___04d_:
mov dword [ebp - 0x360], 0
mov word [ebp - 0x370], ax
call fcn.00406720
push 2
push 0x58da20
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 1
call fcn.00406940
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x370]
call fcn.004070e0
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x41bb92
mov esi, dword [esi]
movzx eax, word [ebp - 0x286]
push 0x3c
push str.CurlClient::Start
push eax
movzx eax, word [ebp - 0x288]
push eax
movzx eax, word [ebp - 0x28a]
push eax
movzx eax, word [ebp - 0x28c]
push eax
movzx eax, word [ebp - 0x28e]
push eax
movzx eax, word [ebp - 0x292]
push eax
movzx eax, word [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
call fcn.0044e850
mov eax, dword [ebp - 0x35c]
add esp, 0x30
cmp eax, 8
jb 0x41bc06
inc eax
lea ecx, [ebp - 0x370]
push eax
push dword [ebp - 0x370]
call fcn.00406e80
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0x370], ax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x35c], 7
mov dword [ebp - 0x360], 0
cmp eax, 8
jb 0x41bc48
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.00406e80
push 1
lea eax, [ebp - 0x33c]
mov ecx, edi
push eax
call fcn.0041ba00
push 0
lea edx, [ebp - 0x33c]
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call fcn.0044c7a0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 3
cmp dword [edx + 0x14], 0x10
jb 0x41bc83
mov edx, dword [edx]
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
cmp byte [edx], 0
jne 0x41bca7
xor ecx, ecx
jmp 0x41bcb9
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bcb0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2ac]
call fcn.00406ad0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x2c8]
cmp eax, 0x10
jb 0x41bce8
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00406ee0
push 0
lea edx, [edi + 0x18]
mov dword [ebp - 0x2c8], 0xf
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x2cc], 0
mov byte [ebp - 0x2dc], 0
call fcn.0044c7a0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 6
cmp dword [edx + 0x14], 0x10
jb 0x41bd24
mov edx, dword [edx]
mov dword [ebp - 0x2b0], 0xf
mov dword [ebp - 0x2b4], 0
mov byte [ebp - 0x2c4], 0
cmp byte [edx], 0
jne 0x41bd48
xor ecx, ecx
jmp 0x41bd59
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bd50
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2c4]
call fcn.00406ad0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x344]
cmp eax, 0x10
jb 0x41bd88
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.00406ee0
push 0xfde9
mov edx, edi
mov dword [ebp - 0x344], 0xf
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 0x348], 0
mov byte [ebp - 0x358], 0
call fcn.0044c7a0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 0x10
jb 0x41bdc6
mov edx, dword [edx]
mov dword [ebp - 0x2f8], 0xf
mov dword [ebp - 0x2fc], 0
mov byte [ebp - 0x30c], 0
cmp byte [edx], 0
jne 0x41bdea
xor ecx, ecx
jmp 0x41bdf9
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bdf0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x30c]
call fcn.00406ad0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x38c]
cmp eax, 0x10
jb 0x41be28
inc eax
lea ecx, [ebp - 0x3a0]
push eax
push dword [ebp - 0x3a0]
call fcn.00406ee0
push 8
xor eax, eax
mov dword [ebp - 0x38c], 0xf
push str.file:___
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x390], 0
mov byte [ebp - 0x3a0], 0
mov dword [ebp - 0x374], 7
mov dword [ebp - 0x378], 0
mov word [ebp - 0x388], ax
call fcn.00406720
push dword [ebp - 0x378]
mov esi, dword [ebp - 0x374]
lea eax, [ebp - 0x388]
mov ebx, dword [ebp - 0x388]
cmp esi, 8
push 0
cmovae eax, ebx
mov ecx, edi
push eax
call fcn.004095b0
mov dword [ebp - 0x26c], eax
cmp esi, 8
jb 0x41bebb
lea ecx, [esi + 1]
push ecx
push ebx
lea ecx, [ebp - 0x388]
call fcn.00406e80
mov eax, dword [ebp - 0x26c]
test eax, eax
jne 0x41bf28
push eax
mov edx, edi
lea ecx, [ebp - 0x2dc]
call fcn.0044c7a0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xc
cmp dword [edx + 0x14], 0x10
jb 0x41bede
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41bee7
xor ecx, ecx
jmp 0x41bef9
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bef0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x30c]
call fcn.00406ad0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2c8]
cmp eax, 0x10
jb 0x41bf28
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00406ee0
xor ebx, ebx
mov dword [ebp - 0x340], ebx
cmp dword [edi + 0x84], ebx
je 0x41bf4b
movsd xmm0, qword [0x5926a8]
comisd xmm0, xmmword [edi + 0x40]
jbe 0x41bfe6
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], ebx
jb 0x41bf64
mov eax, dword [ecx]
jmp 0x41bf66
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], bl
lea eax, [ebp - 0x30c]
push 0
push eax
call fcn.00406bd0
call fcn.0041cb80
mov esi, eax
lea ecx, [ebp - 0x324]
mov edx, esi
call fcn.0041d2e0
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x324]
cmp ecx, eax
je 0x41bfa7
push 0xffffffffffffffff
push 0
push eax
call fcn.00406bd0
mov ecx, esi
call fcn.0041cf50
push esi
movsd qword [edi + 0x40], xmm0
call fcn.004b5740
mov byte [ebp - 4], 0xb
add esp, 4
mov eax, dword [ebp - 0x310]
cmp eax, 0x10
jb 0x41bfde
inc eax
lea ecx, [ebp - 0x324]
push eax
push dword [ebp - 0x324]
call fcn.00406ee0
movsd xmm0, qword [0x5926a8]
cmp dword [edi + 0x84], 0
je 0x41bffa
comisd xmm0, xmmword [edi + 0x40]
jbe 0x41c11e
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x41c025
mov eax, dword [ecx]
jmp 0x41c027
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x30c]
push 0
push eax
call fcn.00406bd0
lea ecx, [ebp - 0x2dc]
call fcn.0041d880
mov ecx, eax
lea esi, [edi + 0x74]
add esp, 0x18
mov dword [ebp - 0x26c], ecx
cmp esi, ecx
je 0x41c096
cmp dword [esi + 0x14], 0x10
jb 0x41c071
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.00406ee0
mov ecx, dword [ebp - 0x26c]
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x41c089
mov eax, dword [esi]
jmp 0x41c08b
mov eax, esi
push ecx
mov ecx, esi
mov byte [eax], 0
call fcn.00406d00
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2c8]
cmp eax, 0x10
jb 0x41c0b8
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00406ee0
cmp dword [esi + 0x10], 0
je 0x41c105
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x41c0e9
mov eax, dword [ecx]
jmp 0x41c0eb
mov eax, ecx
push 0xffffffffffffffff
push 0
push esi
mov byte [eax], 0
call fcn.00406bd0
call fcn.0041d3c0
add esp, 0x18
movsd qword [edi + 0x40], xmm0
movsd xmm0, qword [0x5926a8]
comisd xmm0, xmmword [edi + 0x40]
jbe 0x41c11e
mov esi, 0xfffffc1a
jmp 0x41c422
call fcn.004b5780
mov ebx, eax
test ebx, ebx
jne 0x41c133
mov esi, 0xfffffc1b
jmp 0x41c422
cmp dword [ebp - 0x298], 0x10
lea eax, [ebp - 0x2ac]
push 0x58dc28
cmovae eax, dword [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x340]
mov dword [edi + 0x34], ebx
push eax
call fcn.00526e35
add esp, 0xc
cmp dword [ebp - 0x340], 0
jne 0x41c1c9
call fcn.00522060
push dword [eax]
lea eax, [ebp - 0x268]
push 0xc8
push eax
call fcn.00530993
add esp, 0xc
cmp word [ebp - 0x268], 0
jne 0x41c191
xor ecx, ecx
jmp 0x41c1af
lea ecx, [ebp - 0x268]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c1a0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x268]
push eax
lea ecx, [edi + 0x5c]
call fcn.00406720
mov esi, 0xfffffc1c
jmp 0x41c422
push str.Connection:_keep_alive
push 0
call fcn.004b5c70
push str.Accept_Encoding:_gzip__deflate
push eax
call fcn.004b5c70
push eax
push 0x2727
push ebx
call fcn.004b58a0
push 1
push 0xd5
push ebx
call fcn.004b58a0
push 0xa
push 0xd6
push ebx
call fcn.004b58a0
push 0xa
push 0xd7
push ebx
call fcn.004b58a0
add esp, 0x40
push 0
push 0xd
push ebx
call fcn.004b58a0
lea eax, [edi + 0x74]
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x41c22e
mov eax, dword [eax]
push eax
push 0x2712
push ebx
call fcn.004b58a0
push 1
push 0x34
push ebx
mov esi, eax
call fcn.004b58a0
push 0x41c920
push 0x4e2b
push ebx
or esi, eax
call fcn.004b58a0
push dword [ebp - 0x340]
or esi, eax
push 0x2711
push ebx
call fcn.004b58a0
push 0
push 0x2b
push ebx
or esi, eax
call fcn.004b58a0
push 0x41c930
push 0x4efb
push ebx
or esi, eax
call fcn.004b58a0
add esp, 0x48
or esi, eax
push edi
push 0x2749
push ebx
call fcn.004b58a0
push 1
push 0x2d
push ebx
or esi, eax
call fcn.004b58a0
push 0x3c
push 0x4e
push ebx
or esi, eax
call fcn.004b58a0
add esp, 0x24
mov dword [ebp - 0x270], 0xf
or esi, eax
mov dword [ebp - 0x274], 0
lea eax, [ebp - 0x2ac]
mov byte [ebp - 0x284], 0
lea ecx, [ebp - 0x284]
push 0xffffffffffffffff
push 0
push eax
call fcn.00406bd0
cmp dword [ebp - 0x270], 0x10
lea ecx, [ebp - 0x2f4]
lea eax, [ebp - 0x284]
cmovae eax, dword [ebp - 0x284]
push ecx
push eax
call fcn.00527d5f
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x270]
jne 0x41c342
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x26c], ecx
cmp eax, 0x10
jb 0x41c35d
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.00406ee0
mov ecx, dword [ebp - 0x26c]
jmp 0x41c35d
cmp eax, 0x10
jb 0x41c35a
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.00406ee0
or ecx, 0xffffffff
mov eax, ecx
cdq
mov dword [edi + 0x48], eax
mov ecx, eax
mov dword [edi + 0x4c], edx
mov edi, edx
mov dword [ebp - 0x26c], eax
call fcn.0050a020
comisd xmm0, xmmword [0x592660]
jbe 0x41c396
push edi
push dword [ebp - 0x26c]
push 0x75a4
push ebx
call fcn.004b58a0
add esp, 0x10
or esi, eax
test esi, esi
jne 0x41c422
push ebx
call fcn.004b5810
mov esi, eax
add esp, 4
test esi, esi
je 0x41c422
push 0x64
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.004b4650
push esi
call fcn.004b6480
push eax
push esi
push str.error:_d:_s
lea eax, [ebp - 0x74]
push 0x64
push eax
call fcn.0041e3b0
add esp, 0x24
cmp esi, 0x16
jne 0x41c422
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x26c], 0
push eax
push 0x200002
push ebx
call fcn.004b5760
push 0x64
lea eax, [ebp - 0xd8]
push 0
push eax
call fcn.004b4650
push dword [ebp - 0x26c]
lea eax, [ebp - 0xd8]
push str.HTTP_error_code:_d
push 0x64
push eax
call fcn.0041e3b0
add esp, 0x28
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push esi
call fcn.004b6480
mov edx, eax
mov dword [ebp - 0x344], 0xf
add esp, 4
mov dword [ebp - 0x348], 0
mov byte [ebp - 0x358], 0
cmp byte [edx], 0
jne 0x41c45e
xor ecx, ecx
jmp 0x41c46c
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c463
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x358]
call fcn.00406ad0
push 0
lea edx, [ebp - 0x358]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2dc]
call fcn.0044c630
add esp, 4
mov dword [ebp - 0x26c], eax
mov edi, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x284]
push 0xb
xor eax, eax
mov dword [ebp - 0x270], 7
push 0x58deb4
mov dword [ebp - 0x274], 0
mov word [ebp - 0x284], ax
call fcn.00406720
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x370]
push 0x3e
xor eax, eax
mov dword [ebp - 0x35c], 7
push str._P_05d__T_05d___04d__02d__02d__02d:_02d:_02d._03d___s___04d_:
mov dword [ebp - 0x360], 0
mov word [ebp - 0x370], ax
call fcn.00406720
mov byte [ebp - 4], 0x12
cmp dword [edi + 0x14], 8
jb 0x41c513
mov edi, dword [edi]
mov dword [ebp - 0x26c], edi
push 2
push 0x58da20
lea ecx, [ebp - 0x284]
call fcn.00406940
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x370]
call fcn.004070e0
mov edi, eax
cmp dword [edi + 0x14], 8
jb 0x41c53f
mov edi, dword [edi]
push dword [ebp - 0x26c]
movzx eax, word [ebp - 0x286]
push esi
push 0xcf
push str.CurlClient::Start
push eax
movzx eax, word [ebp - 0x288]
push eax
movzx eax, word [ebp - 0x28a]
push eax
movzx eax, word [ebp - 0x28c]
push eax
movzx eax, word [ebp - 0x28e]
push eax
movzx eax, word [ebp - 0x292]
push eax
movzx eax, word [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push edi
call fcn.0044e850
mov eax, dword [ebp - 0x35c]
add esp, 0x38
cmp eax, 8
jb 0x41c5bd
inc eax
lea ecx, [ebp - 0x370]
push eax
push dword [ebp - 0x370]
call fcn.00406e80
xor eax, eax
mov dword [ebp - 0x35c], 7
mov word [ebp - 0x370], ax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x360], 0
cmp eax, 8
jb 0x41c5f8
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.00406e80
xor eax, eax
mov dword [ebp - 0x270], 7
mov word [ebp - 0x284], ax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x274], 0
cmp eax, 8
jb 0x41c633
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00406e80
xor eax, eax
mov byte [ebp - 4], 0xb
mov word [ebp - 0x2dc], ax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x2c8], 7
mov dword [ebp - 0x2cc], 0
cmp eax, 0x10
jb 0x41c672
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.00406ee0
push ebx
call fcn.004b5740
mov eax, dword [ebp - 0x340]
add esp, 4
test eax, eax
je 0x41c698
push eax
call fcn.00526ef2
add esp, 4
mov dword [ebp - 0x340], 0
test esi, esi
jne 0x41c6e8
cmp dword [ebp - 0x2b0], 0x10
lea eax, [ebp - 0x2c4]
cmovae eax, dword [ebp - 0x2c4]
push eax
call fcn.00526f72
cmp dword [ebp - 0x2b0], 0x10
lea ecx, [ebp - 0x2c4]
lea eax, [ebp - 0x2ac]
cmovae ecx, dword [ebp - 0x2c4]
cmp dword [ebp - 0x298], 0x10
push ecx
cmovae eax, dword [ebp - 0x2ac]
push eax
call fcn.0052a87b
add esp, 0xc
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xc
xor eax, eax
mov dword [ebp - 0x2c8], 7
push str.end_download
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x2cc], 0
mov word [ebp - 0x2dc], ax
call fcn.00406720
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x388]
push 0x3e
xor eax, eax
mov dword [ebp - 0x374], 7
push str._P_05d__T_05d___04d__02d__02d__02d:_02d:_02d._03d___s___04d_:
mov dword [ebp - 0x378], 0
mov word [ebp - 0x388], ax
call fcn.00406720
push 2
push 0x58da20
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x14
call fcn.00406940
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x388]
call fcn.004070e0
mov edi, eax
cmp dword [edi + 0x14], 8
jb 0x41c787
mov edi, dword [edi]
movzx eax, word [ebp - 0x26e]
push 0xde
push str.CurlClient::Start
push eax
movzx eax, word [ebp - 0x270]
push eax
movzx eax, word [ebp - 0x272]
push eax
movzx eax, word [ebp - 0x274]
push eax
movzx eax, word [ebp - 0x276]
push eax
movzx eax, word [ebp - 0x27a]
push eax
movzx eax, word [ebp - 0x27c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push edi
call fcn.0044e850
mov eax, dword [ebp - 0x374]
add esp, 0x30
cmp eax, 8
jb 0x41c7fe
inc eax
lea ecx, [ebp - 0x388]
push eax
push dword [ebp - 0x388]
call fcn.00406e80
xor eax, eax
mov dword [ebp - 0x374], 7
mov word [ebp - 0x388], ax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x378], 0
cmp eax, 8
jb 0x41c839
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00406e80
mov eax, dword [ebp - 0x2f8]
cmp eax, 0x10
jb 0x41c857
inc eax
lea ecx, [ebp - 0x30c]
push eax
push dword [ebp - 0x30c]
call fcn.00406ee0
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2f8], 0xf
mov dword [ebp - 0x2fc], 0
mov byte [ebp - 0x30c], 0
cmp eax, 0x10
jb 0x41c890
inc eax
lea ecx, [ebp - 0x2c4]
push eax
push dword [ebp - 0x2c4]
call fcn.00406ee0
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2b0], 0xf
mov dword [ebp - 0x2b4], 0
mov byte [ebp - 0x2c4], 0
cmp eax, 0x10
jb 0x41c8c9
inc eax
lea ecx, [ebp - 0x2ac]
push eax
push dword [ebp - 0x2ac]
call fcn.00406ee0
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
cmp eax, 8
jb 0x41c902
inc eax
lea ecx, [ebp - 0x33c]
push eax
push dword [ebp - 0x33c]
call fcn.00406e80
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00509444
mov esp, ebp
pop ebp
ret