Function at 0x414a90
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x520501
mov eax, dword fs:[0]
push eax
sub esp, 0x394
mov eax, dword [0x569434]
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.00402a00
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.00402a00
push 2
push 0x553b68
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 1
call fcn.00402c20
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x370]
call fcn.00403030
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x414b62
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.004226e0
mov eax, dword [ebp - 0x35c]
add esp, 0x30
cmp eax, 8
jb 0x414bd6
inc eax
lea ecx, [ebp - 0x370]
push eax
push dword [ebp - 0x370]
call fcn.00402e20
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 0x414c18
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.00402e20
push 1
lea eax, [ebp - 0x33c]
mov ecx, edi
push eax
call fcn.004149d0
push 0
lea edx, [ebp - 0x33c]
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call fcn.00421ae0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 3
cmp dword [edx + 0x14], 0x10
jb 0x414c53
mov edx, dword [edx]
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
cmp byte [edx], 0
jne 0x414c77
xor ecx, ecx
jmp 0x414c89
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414c80
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2ac]
call fcn.00404380
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x2c8]
cmp eax, 0x10
jb 0x414cb8
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.004045b0
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.00421ae0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 6
cmp dword [edx + 0x14], 0x10
jb 0x414cf4
mov edx, dword [edx]
mov dword [ebp - 0x2b0], 0xf
mov dword [ebp - 0x2b4], 0
mov byte [ebp - 0x2c4], 0
cmp byte [edx], 0
jne 0x414d18
xor ecx, ecx
jmp 0x414d29
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414d20
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2c4]
call fcn.00404380
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x344]
cmp eax, 0x10
jb 0x414d58
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.004045b0
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.00421ae0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 0x10
jb 0x414d96
mov edx, dword [edx]
mov dword [ebp - 0x2f8], 0xf
mov dword [ebp - 0x2fc], 0
mov byte [ebp - 0x30c], 0
cmp byte [edx], 0
jne 0x414dba
xor ecx, ecx
jmp 0x414dc9
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414dc0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x30c]
call fcn.00404380
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x38c]
cmp eax, 0x10
jb 0x414df8
inc eax
lea ecx, [ebp - 0x3a0]
push eax
push dword [ebp - 0x3a0]
call fcn.004045b0
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.00402a00
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.00402910
mov dword [ebp - 0x26c], eax
cmp esi, 8
jb 0x414e8b
lea ecx, [esi + 1]
push ecx
push ebx
lea ecx, [ebp - 0x388]
call fcn.00402e20
mov eax, dword [ebp - 0x26c]
test eax, eax
jne 0x414ef8
push eax
mov edx, edi
lea ecx, [ebp - 0x2dc]
call fcn.00421ae0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xc
cmp dword [edx + 0x14], 0x10
jb 0x414eae
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x414eb7
xor ecx, ecx
jmp 0x414ec9
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414ec0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x30c]
call fcn.00404380
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2c8]
cmp eax, 0x10
jb 0x414ef8
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.004045b0
xor ebx, ebx
mov dword [ebp - 0x340], ebx
cmp dword [edi + 0x84], ebx
je 0x414f1b
movsd xmm0, qword [0x556708]
comisd xmm0, xmmword [edi + 0x40]
jbe 0x414fb6
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], ebx
jb 0x414f34
mov eax, dword [ecx]
jmp 0x414f36
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], bl
lea eax, [ebp - 0x30c]
push 0
push eax
call fcn.00404480
call fcn.00415b50
mov esi, eax
lea ecx, [ebp - 0x324]
mov edx, esi
call fcn.00416240
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x324]
cmp ecx, eax
je 0x414f77
push 0xffffffffffffffff
push 0
push eax
call fcn.00404480
mov ecx, esi
call fcn.00415f20
push esi
movsd qword [edi + 0x40], xmm0
call fcn.0048a940
mov byte [ebp - 4], 0xb
add esp, 4
mov eax, dword [ebp - 0x310]
cmp eax, 0x10
jb 0x414fae
inc eax
lea ecx, [ebp - 0x324]
push eax
push dword [ebp - 0x324]
call fcn.004045b0
movsd xmm0, qword [0x556708]
cmp dword [edi + 0x84], 0
je 0x414fca
comisd xmm0, xmmword [edi + 0x40]
jbe 0x4150ee
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 0x414ff5
mov eax, dword [ecx]
jmp 0x414ff7
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x30c]
push 0
push eax
call fcn.00404480
lea ecx, [ebp - 0x2dc]
call fcn.004166d0
mov ecx, eax
lea esi, [edi + 0x74]
add esp, 0x18
mov dword [ebp - 0x26c], ecx
cmp esi, ecx
je 0x415066
cmp dword [esi + 0x14], 0x10
jb 0x415041
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.004045b0
mov ecx, dword [ebp - 0x26c]
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x415059
mov eax, dword [esi]
jmp 0x41505b
mov eax, esi
push ecx
mov ecx, esi
mov byte [eax], 0
call fcn.00406a50
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2c8]
cmp eax, 0x10
jb 0x415088
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.004045b0
cmp dword [esi + 0x10], 0
je 0x4150d5
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 0x4150b9
mov eax, dword [ecx]
jmp 0x4150bb
mov eax, ecx
push 0xffffffffffffffff
push 0
push esi
mov byte [eax], 0
call fcn.00404480
call fcn.00416320
add esp, 0x18
movsd qword [edi + 0x40], xmm0
movsd xmm0, qword [0x556708]
comisd xmm0, xmmword [edi + 0x40]
jbe 0x4150ee
mov esi, 0xfffffc1a
jmp 0x4153f2
call fcn.0048a980
mov ebx, eax
test ebx, ebx
jne 0x415103
mov esi, 0xfffffc1b
jmp 0x4153f2
cmp dword [ebp - 0x298], 0x10
lea eax, [ebp - 0x2ac]
push 0x553d50
cmovae eax, dword [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x340]
mov dword [edi + 0x34], ebx
push eax
call fcn.004f91c4
add esp, 0xc
cmp dword [ebp - 0x340], 0
jne 0x415199
call fcn.004f41cf
push dword [eax]
lea eax, [ebp - 0x268]
push 0xc8
push eax
call fcn.00502d07
add esp, 0xc
cmp word [ebp - 0x268], 0
jne 0x415161
xor ecx, ecx
jmp 0x41517f
lea ecx, [ebp - 0x268]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415170
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x268]
push eax
lea ecx, [edi + 0x5c]
call fcn.00402a00
mov esi, 0xfffffc1c
jmp 0x4153f2
push str.Connection:_keep_alive
push 0
call fcn.0048ae70
push str.Accept_Encoding:_gzip__deflate
push eax
call fcn.0048ae70
push eax
push 0x2727
push ebx
call fcn.0048aaa0
push 1
push 0xd5
push ebx
call fcn.0048aaa0
push 0xa
push 0xd6
push ebx
call fcn.0048aaa0
push 0xa
push 0xd7
push ebx
call fcn.0048aaa0
add esp, 0x40
push 0
push 0xd
push ebx
call fcn.0048aaa0
lea eax, [edi + 0x74]
add esp, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x4151fe
mov eax, dword [eax]
push eax
push 0x2712
push ebx
call fcn.0048aaa0
push 1
push 0x34
push ebx
mov esi, eax
call fcn.0048aaa0
push 0x4158f0
push 0x4e2b
push ebx
or esi, eax
call fcn.0048aaa0
push dword [ebp - 0x340]
or esi, eax
push 0x2711
push ebx
call fcn.0048aaa0
push 0
push 0x2b
push ebx
or esi, eax
call fcn.0048aaa0
push 0x415900
push 0x4efb
push ebx
or esi, eax
call fcn.0048aaa0
add esp, 0x48
or esi, eax
push edi
push 0x2749
push ebx
call fcn.0048aaa0
push 1
push 0x2d
push ebx
or esi, eax
call fcn.0048aaa0
push 0x3c
push 0x4e
push ebx
or esi, eax
call fcn.0048aaa0
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.00404480
cmp dword [ebp - 0x270], 0x10
lea ecx, [ebp - 0x2f4]
lea eax, [ebp - 0x284]
cmovae eax, dword [ebp - 0x284]
push ecx
push eax
call fcn.004fa0ee
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x270]
jne 0x415312
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x26c], ecx
cmp eax, 0x10
jb 0x41532d
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.004045b0
mov ecx, dword [ebp - 0x26c]
jmp 0x41532d
cmp eax, 0x10
jb 0x41532a
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.004045b0
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.004dc3a0
comisd xmm0, xmmword [0x5566c0]
jbe 0x415366
push edi
push dword [ebp - 0x26c]
push 0x75a4
push ebx
call fcn.0048aaa0
add esp, 0x10
or esi, eax
test esi, esi
jne 0x4153f2
push ebx
call fcn.0048aa10
mov esi, eax
add esp, 4
test esi, esi
je 0x4153f2
push 0x64
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.00489860
push esi
call fcn.0048b680
push eax
push esi
push str.error:_d:_s
lea eax, [ebp - 0x74]
push 0x64
push eax
call fcn.00416900
add esp, 0x24
cmp esi, 0x16
jne 0x4153f2
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x26c], 0
push eax
push 0x200002
push ebx
call fcn.0048a960
push 0x64
lea eax, [ebp - 0xd8]
push 0
push eax
call fcn.00489860
push dword [ebp - 0x26c]
lea eax, [ebp - 0xd8]
push str.HTTP_error_code:_d
push 0x64
push eax
call fcn.00416900
add esp, 0x28
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push esi
call fcn.0048b680
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 0x41542e
xor ecx, ecx
jmp 0x41543c
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415433
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x358]
call fcn.00404380
push 0
lea edx, [ebp - 0x358]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2dc]
call fcn.00421970
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 0x553fdc
mov dword [ebp - 0x274], 0
mov word [ebp - 0x284], ax
call fcn.00402a00
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.00402a00
mov byte [ebp - 4], 0x12
cmp dword [edi + 0x14], 8
jb 0x4154e3
mov edi, dword [edi]
mov dword [ebp - 0x26c], edi
push 2
push 0x553b68
lea ecx, [ebp - 0x284]
call fcn.00402c20
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x370]
call fcn.00403030
mov edi, eax
cmp dword [edi + 0x14], 8
jb 0x41550f
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.004226e0
mov eax, dword [ebp - 0x35c]
add esp, 0x38
cmp eax, 8
jb 0x41558d
inc eax
lea ecx, [ebp - 0x370]
push eax
push dword [ebp - 0x370]
call fcn.00402e20
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 0x4155c8
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.00402e20
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 0x415603
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00402e20
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 0x415642
inc eax
lea ecx, [ebp - 0x358]
push eax
push dword [ebp - 0x358]
call fcn.004045b0
push ebx
call fcn.0048a940
mov eax, dword [ebp - 0x340]
add esp, 4
test eax, eax
je 0x415668
push eax
call fcn.004f9281
add esp, 4
mov dword [ebp - 0x340], 0
test esi, esi
jne 0x4156b8
cmp dword [ebp - 0x2b0], 0x10
lea eax, [ebp - 0x2c4]
cmovae eax, dword [ebp - 0x2c4]
push eax
call fcn.004f9301
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.004fcc0a
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.00402a00
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.00402a00
push 2
push 0x553b68
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x14
call fcn.00402c20
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x388]
call fcn.00403030
mov edi, eax
cmp dword [edi + 0x14], 8
jb 0x415757
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.004226e0
mov eax, dword [ebp - 0x374]
add esp, 0x30
cmp eax, 8
jb 0x4157ce
inc eax
lea ecx, [ebp - 0x388]
push eax
push dword [ebp - 0x388]
call fcn.00402e20
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 0x415809
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00402e20
mov eax, dword [ebp - 0x2f8]
cmp eax, 0x10
jb 0x415827
inc eax
lea ecx, [ebp - 0x30c]
push eax
push dword [ebp - 0x30c]
call fcn.004045b0
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2f8], 0xf
mov dword [ebp - 0x2fc], 0
mov byte [ebp - 0x30c], 0
cmp eax, 0x10
jb 0x415860
inc eax
lea ecx, [ebp - 0x2c4]
push eax
push dword [ebp - 0x2c4]
call fcn.004045b0
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2b0], 0xf
mov dword [ebp - 0x2b4], 0
mov byte [ebp - 0x2c4], 0
cmp eax, 0x10
jb 0x415899
inc eax
lea ecx, [ebp - 0x2ac]
push eax
push dword [ebp - 0x2ac]
call fcn.004045b0
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
cmp eax, 8
jb 0x4158d2
inc eax
lea ecx, [ebp - 0x33c]
push eax
push dword [ebp - 0x33c]
call fcn.00402e20
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.004db7a8
mov esp, ebp
pop ebp
ret