Function at 0x518040
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov al, byte [0x620ce8]
sub esp, 0x1d8
test al, al
push ebx
push ebp
push esi
push edi
mov ebp, ecx
jne 0x518073
mov eax, dword [0x620cd4]
mov byte [0x620f08], 0
push 0
push 0x89
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
jmp 0x51808f
mov eax, dword [0x620cd4]
mov byte [0x620f08], 1
push 1
push 0x89
mov edx, dword [eax]
push eax
call dword [edx + 0xc8]
mov ecx, 0x620cd0
call fcn.0040cf90
mov ecx, 0x620cd0
call fcn.0040dae0
mov al, byte [0x620cf4]
test al, al
mov eax, dword [0x620cd4]
jne 0x5180c4
mov ecx, dword [eax]
mov ebx, 7
push 0
push ebx
push eax
call dword [ecx + 0xc8]
jmp 0x5180d5
mov edx, dword [eax]
mov ebx, 7
push 1
push ebx
push eax
call dword [edx + 0xc8]
mov al, byte [0x620cf4]
test al, al
mov eax, dword [0x620cd4]
jne 0x5180f2
mov ecx, dword [eax]
push 0
push 0xe
push eax
call dword [ecx + 0xc8]
jmp 0x5180ff
mov edx, dword [eax]
push 1
push 0xe
push eax
call dword [edx + 0xc8]
mov eax, dword [0x620cd4]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x620cd4]
push 1
push 0x16
push eax
mov edx, dword [eax]
call dword [edx + 0xc8]
mov eax, dword [0x620cd4]
mov esi, 5
push esi
push 0x13
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x620cd4]
push 6
push 0x14
push eax
mov edx, dword [eax]
call dword [edx + 0xc8]
mov ecx, dword [0x638a90]
mov dword [0x620cf8], 8
mov dword [0x620cfc], 0x142
mov dword [0x620d00], 0
call fcn.004961f0
mov dl, byte [ebp + 1]
test dl, dl
jne 0x5181d5
mov al, byte [ebp + 0x33c]
mov cl, byte [ebp + 0x33d]
mov byte [esp + 0x14], al
mov al, byte [ebp + 0x33e]
mov byte [esp + 0x15], cl
mov cl, byte [ebp + 0x33f]
mov byte [esp + 0x17], al
xor eax, eax
mov byte [esp + 0x18], cl
mov byte [esp + 0x16], 5
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x10]
inc eax
add ecx, 4
cmp eax, esi
mov dword [esp + 0x10], eax
fmul dword [0x5885e4]
fsub dword [0x588730]
fstp dword [ecx - 4]
jl 0x5181b6
cmp dl, 1
jne 0x518248
mov al, byte [ebp + 0x33c]
mov cl, byte [ebp + 0x33d]
mov byte [esp + 0x14], al
mov al, byte [ebp + 0x33e]
mov byte [esp + 0x15], cl
mov cl, byte [ebp + 0x33f]
mov byte [esp + 0x16], al
mov al, byte [ebp + 0x340]
mov byte [esp + 0x18], cl
mov cl, byte [ebp + 0x341]
mov byte [esp + 0x19], al
xor eax, eax
mov byte [esp + 0x1a], cl
mov byte [esp + 0x17], 5
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x10]
inc eax
add ecx, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
fmul dword [0x589e90]
fsub dword [0x58a030]
fstp dword [ecx - 4]
jl 0x518229
cmp dl, 2
jne 0x5182a7
mov al, byte [ebp + 0x33c]
mov cl, byte [ebp + 0x33d]
mov byte [esp + 0x14], al
mov al, byte [ebp + 0x33e]
mov byte [esp + 0x15], cl
mov cl, byte [ebp + 0x33f]
mov byte [esp + 0x17], al
xor eax, eax
mov byte [esp + 0x18], cl
mov byte [esp + 0x16], 5
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x10]
inc eax
add ecx, 4
cmp eax, esi
mov dword [esp + 0x10], eax
fmul dword [0x5885e4]
fsub dword [0x588730]
fstp dword [ecx - 4]
jl 0x518288
cmp dl, 3
jne 0x518301
mov al, byte [ebp + 0x33c]
mov cl, byte [ebp + 0x33d]
mov byte [esp + 0x14], al
mov al, byte [ebp + 0x33e]
mov byte [esp + 0x18], al
xor eax, eax
mov byte [esp + 0x16], cl
mov byte [esp + 0x15], 5
mov byte [esp + 0x17], 5
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x10]
inc eax
add ecx, 4
cmp eax, esi
mov dword [esp + 0x10], eax
fmul dword [0x5885e4]
fsub dword [0x588730]
fstp dword [ecx - 4]
jl 0x5182e2
cmp dl, 4
jne 0x51836a
mov al, byte [ebp + 0x33d]
mov cl, byte [ebp + 0x33c]
mov byte [esp + 0x16], al
mov al, byte [ebp + 0x33f]
mov byte [esp + 0x14], cl
mov cl, byte [ebp + 0x33e]
mov byte [esp + 0x1a], al
xor eax, eax
mov byte [esp + 0x18], cl
mov byte [esp + 0x15], 5
mov byte [esp + 0x17], 5
mov byte [esp + 0x19], 5
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x10]
inc eax
add ecx, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
fmul dword [0x589e90]
fsub dword [0x58a030]
fstp dword [ecx - 4]
jl 0x51834b
cmp dl, 5
jne 0x5183d0
mov al, byte [ebp + 0x33d]
mov cl, byte [ebp + 0x33c]
mov byte [esp + 0x16], al
mov al, byte [ebp + 0x33f]
mov byte [esp + 0x14], cl
mov cl, byte [ebp + 0x33e]
mov byte [esp + 0x1a], al
xor eax, eax
mov byte [esp + 0x18], cl
mov byte [esp + 0x15], dl
mov byte [esp + 0x17], dl
mov byte [esp + 0x19], dl
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x48]
fild dword [esp + 0x10]
inc eax
add ecx, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
fmul dword [0x589e90]
fsub dword [0x58a030]
fstp dword [ecx - 4]
jl 0x5183b1
cmp dl, 6
jne 0x518420
mov cl, byte [ebp + 0x33c]
mov al, byte [ebp + 0x33d]
mov byte [esp + 0x14], cl
mov cl, byte [ebp + 0x33e]
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 5
mov byte [esp + 0x17], cl
mov dword [esp + 0x1c], 4
mov dword [esp + 0x48], 0xc1200000
mov dword [esp + 0x4c], 0xc0a00000
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x40f00000
cmp dl, bl
jne 0x51847d
mov dl, byte [ebp + 0x33c]
mov al, byte [ebp + 0x33d]
mov cl, byte [ebp + 0x33e]
mov byte [esp + 0x14], dl
mov dl, byte [ebp + 0x33f]
mov byte [esp + 0x15], al
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], 5
mov byte [esp + 0x18], dl
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], 0xc1580000
mov dword [esp + 0x4c], 0xc1100000
mov dword [esp + 0x50], 0xc0900000
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x41100000
lea eax, [ebp + 0x10c]
mov ecx, 0x620cd0
push eax
call fcn.0040cfd0
mov edx, dword [ebp + 0x348]
mov eax, dword [0x620cd4]
mov edx, dword [edx + 8]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0xf4]
mov ecx, dword [ebp + 0x34c]
lea eax, [esp + 0x20]
push 0
push eax
push 0
push 0
push ecx
mov ecx, 0x620cd0
mov dword [esp + 0x78], 0xc0000000
mov dword [esp + 0x7c], 0x40000000
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xbf800000
mov dword [esp + 0x90], 0x3ecccccd
mov dword [esp + 0x94], 0x3f4ccccd
mov dword [esp + 0x98], 0x40000000
mov dword [esp + 0x9c], 0x40000000
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xbf800000
mov dword [esp + 0xb0], 0x3f19999a
mov dword [esp + 0xb4], 0x3f4ccccd
mov dword [esp + 0xb8], 0xc0000000
mov dword [esp + 0xbc], 0xc0000000
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0xbf800000
mov dword [esp + 0xd0], 0x3ecccccd
mov dword [esp + 0xd4], 0x3f800000
mov dword [esp + 0xd8], 0x40000000
mov dword [esp + 0xdc], 0xc0000000
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xbf800000
mov dword [esp + 0xf0], 0x3f19999a
mov dword [esp + 0xf4], 0x3f800000
call fcn.0040d2b0
mov edi, dword [esp + 0x20]
mov ecx, 0x20
lea esi, [esp + 0x64]
push 1
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x34c]
mov ecx, 0x620cd0
push edx
call fcn.0040d2f0
mov eax, dword [ebp + 0x34c]
push 0x20
push eax
push 0
mov ecx, 0x620cd0
call fcn.0040d450
mov eax, dword [0x620cd4]
push 0x112
push eax
mov ecx, dword [eax]
call dword [ecx + 0x130]
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x518737
lea ebx, [esp + 0x48]
cmp byte [esp + eax + 0x14], 4
jg 0x518723
mov edx, dword [ebx]
push 0xbdb851ec
push 0xbe99999a
lea eax, [esp + 0x170]
push edx
push eax
mov ecx, 0x65cb50
call fcn.004937c0
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x128]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1a8]
push ecx
mov ecx, dword [ebp + 0xa4]
call fcn.004a7830
push eax
lea edx, [esp + 0x12c]
lea eax, [esp + 0x12c]
push edx
push eax
call fcn.0055734a
mov eax, dword [0x620cd4]
lea edx, [esp + 0x128]
push edx
push 0x100
mov ecx, dword [eax]
push eax
call dword [ecx + 0x94]
mov eax, dword [0x620cd4]
push 0x112
push eax
mov ecx, dword [eax]
call dword [ecx + 0x130]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc eax
add ebx, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x51867e
mov eax, dword [ebp + 0x34c]
lea edx, [esp + 0x20]
push 0
push edx
push 0
push 0
push eax
mov ecx, 0x620cd0
mov dword [esp + 0x44], 0x3f19999a
mov dword [esp + 0x38], 0x3f4ccccd
mov dword [esp + 0x4c], 0x3f4ccccd
mov dword [esp + 0x40], 0x3f800000
mov dword [esp + 0x90], 0x3f19999a
mov dword [esp + 0x94], 0x3f4ccccd
mov dword [esp + 0xb0], 0x3f4ccccd
mov dword [esp + 0xb4], 0x3f4ccccd
mov dword [esp + 0xd0], 0x3f19999a
mov dword [esp + 0xd4], 0x3f800000
mov dword [esp + 0xf0], 0x3f4ccccd
mov dword [esp + 0xf4], 0x3f800000
call fcn.0040d2b0
mov edi, dword [esp + 0x20]
mov ecx, 0x20
lea esi, [esp + 0x64]
push 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x34c]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov edx, dword [ebp + 0x34c]
push 0x20
push edx
push 0
mov ecx, 0x620cd0
call fcn.0040d450
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x5188d1
lea ebx, [esp + 0x48]
cmp byte [esp + eax + 0x14], 5
jne 0x5188bd
mov eax, dword [ebx]
push 0xbdb851ec
push 0xbdcccccd
lea ecx, [esp + 0x1b0]
push eax
push ecx
mov ecx, 0x65cb50
call fcn.004937c0
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x128]
lea edx, [esp + 0x168]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xa4]
push edx
call fcn.004a7830
push eax
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x12c]
push eax
push ecx
call fcn.0055734a
mov eax, dword [0x620cd4]
lea ecx, [esp + 0x128]
push ecx
push 0x100
mov edx, dword [eax]
push eax
call dword [edx + 0x94]
mov eax, dword [0x620cd4]
push 0x112
push eax
mov edx, dword [eax]
call dword [edx + 0x130]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc eax
add ebx, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x518818
mov edx, dword [ebp + 0x344]
mov eax, dword [0x620cd4]
mov edx, dword [edx + 8]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0xf4]
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], eax
jle 0x518c8a
lea ecx, [esp + 0x48]
mov dword [esp + 0x40], ecx
jmp 0x51890f
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x518925
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], eax
jmp 0x51899e
cmp eax, 1
jne 0x518934
mov dword [esp + 0x34], 0
jmp 0x518958
cmp eax, 2
jne 0x51894b
mov dword [esp + 0x34], 0x3e4ccccd
mov dword [esp + 0x28], 0x3e4ccccd
jmp 0x518996
cmp eax, 3
jne 0x51896a
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x28], 0x3f800000
mov dword [esp + 0x3c], 0
jmp 0x51899e
cmp eax, 4
jne 0x518981
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0x3f800000
jmp 0x518996
cmp eax, 5
jne 0x51899e
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x28], 0
mov dword [esp + 0x3c], 0x3f800000
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xf4], edx
lea edx, [esp + 0xe4]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xfc], ecx
push edx
mov ecx, 0x620cd0
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], 0x3f800000
mov dword [esp + 0xfc], eax
mov dword [esp + 0x104], 0x3f800000
mov dword [esp + 0x108], 0x3f800000
mov dword [esp + 0x10c], 0x3f800000
mov dword [esp + 0x110], 0x3f800000
mov dword [esp + 0x114], 0x3f800000
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0x42480000
call fcn.0040cfd0
mov eax, dword [esp + 0x10]
mov bl, byte [esp + eax + 0x14]
test bl, bl
jne 0x518a8b
mov dword [esp + 0x30], 0x3ecccccd
mov dword [esp + 0x24], 0x3f19999a
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0x3e4ccccd
cmp bl, 1
jne 0x518ab0
mov dword [esp + 0x30], 0x3f19999a
mov dword [esp + 0x24], 0x3f4ccccd
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0x3e4ccccd
cmp bl, 2
jne 0x518ad5
mov dword [esp + 0x30], 0x3f4ccccd
mov dword [esp + 0x24], 0x3f800000
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0x3e4ccccd
cmp bl, 3
jne 0x518afa
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], 0x3e4ccccd
mov dword [esp + 0x38], 0x3e4ccccd
mov dword [esp + 0x2c], 0x3ecccccd
cmp bl, 4
jne 0x518b1f
mov dword [esp + 0x30], 0x3e4ccccd
mov dword [esp + 0x24], 0x3ecccccd
mov dword [esp + 0x38], 0x3e4ccccd
mov dword [esp + 0x2c], 0x3ecccccd
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov ecx, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc0], eax
mov edx, eax
lea eax, [esp + 0x20]
push 0
mov dword [esp + 0xe0], ecx
mov ecx, dword [ebp + 0x34c]
push eax
push 0
push 0
push ecx
mov ecx, 0x620cd0
mov dword [esp + 0xf4], edx
call fcn.0040d2b0
mov edi, dword [esp + 0x20]
mov ecx, 0x20
lea esi, [esp + 0x64]
push 1
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x34c]
mov ecx, 0x620cd0
push edx
call fcn.0040d2f0
mov eax, dword [ebp + 0x34c]
push 0x20
push eax
push 0
mov ecx, 0x620cd0
call fcn.0040d450
cmp bl, 5
je 0x518c6a
mov ecx, dword [esp + 0x40]
push 0xbdb851ec
push 0xbe99999a
lea eax, [esp + 0x1b0]
mov edx, dword [ecx]
mov ecx, 0x65cb50
push edx
push eax
call fcn.004937c0
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x128]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x168]
push ecx
mov ecx, dword [ebp + 0xa4]
call fcn.004a7830
push eax
lea edx, [esp + 0x12c]
lea eax, [esp + 0x12c]
push edx
push eax
call fcn.0055734a
mov eax, dword [0x620cd4]
lea edx, [esp + 0x128]
push edx
push 0x100
mov ecx, dword [eax]
push eax
call dword [ecx + 0x94]
mov eax, dword [0x620cd4]
push 0x112
push eax
mov ecx, dword [eax]
call dword [ecx + 0x130]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
inc dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], edx
jl 0x51890b
mov ecx, dword [ebp + 0x344]
mov eax, dword [0x620cd4]
mov ecx, dword [ecx + 8]
mov edx, dword [eax]
push ecx
push 0
push eax
call dword [edx + 0xf4]
lea eax, [ebp + 0x10c]
mov ecx, 0x620cd0
push eax
call fcn.0040cfd0
mov eax, dword [ebp + 0x34c]
lea edx, [esp + 0x20]
push 0
push edx
push 0
push 0
push eax
mov ecx, 0x620cd0
mov dword [esp + 0x90], 0x3ecccccd
mov dword [esp + 0x94], 0x3e4ccccd
mov dword [esp + 0xb0], 0x3f19999a
mov dword [esp + 0xb4], 0x3e4ccccd
mov dword [esp + 0xd0], 0x3ecccccd
mov dword [esp + 0xd4], 0x3ecccccd
mov dword [esp + 0xf0], 0x3f19999a
mov dword [esp + 0xf4], 0x3ecccccd
call fcn.0040d2b0
mov edi, dword [esp + 0x20]
mov ecx, 0x20
lea esi, [esp + 0x64]
push 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x34c]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov edx, dword [ebp + 0x34c]
push 0x20
push edx
push 0
mov ecx, 0x620cd0
call fcn.0040d450
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x518e55
lea ebx, [esp + 0x48]
mov cl, byte [ebp + 1]
cmp cl, 1
jg 0x518e55
test cl, cl
jne 0x518d90
cmp eax, 1
je 0x518da7
cmp eax, 4
je 0x518da7
cmp cl, 1
jne 0x518e41
cmp eax, 2
je 0x518da7
cmp eax, 6
jne 0x518e41
mov eax, dword [ebx]
push 0xbdb851ec
push 0xbe99999a
lea ecx, [esp + 0x1b0]
push eax
push ecx
mov ecx, 0x65cb50
call fcn.004937c0
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x128]
lea edx, [esp + 0x168]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xa4]
push edx
call fcn.004a7830
push eax
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x12c]
push eax
push ecx
call fcn.0055734a
mov eax, dword [0x620cd4]
lea ecx, [esp + 0x128]
push ecx
push 0x100
mov edx, dword [eax]
push eax
call dword [edx + 0x94]
mov eax, dword [0x620cd4]
push 0x112
push eax
mov edx, dword [eax]
call dword [edx + 0x130]
push 2
push 0
push 5
mov ecx, 0x620cd0
call fcn.0040d710
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc eax
add ebx, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x518d76
mov ecx, dword [0x638a90]
call fcn.004968b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d8
ret