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

Disassembly:
push 0xffffffffffffffff
push 0x485293
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x134
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea ecx, [esp + 0xa4]
mov dword [esp + 0x1c], esi
xor ebp, ebp
mov dword [esp + 0x18], ebx
call fcn.00415cc0
mov edi, dword [esp + 0x154]
lea ecx, [esp + 0xa4]
push edi
mov dword [esp + 0x150], ebp
call fcn.00415db0
test eax, eax
jne 0x413e5a
mov eax, dword [esi + 4]
push edi
push 0x499378
push eax
call fcn.00403af0
add esp, 0xc
mov eax, dword [esi + 4]
push 0x49a3c8
mov ecx, dword [eax + 0x330]
mov edx, dword [eax + 0x334]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x338]
mov dword [esp + 0xa0], edx
mov edx, dword [eax + 0x33c]
mov eax, dword [eax + 0x340]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], eax
call fcn.00415fd0
push 0x49a3c0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x138], eax
call fcn.00415fd0
push 0x49a3b4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x13c], eax
call fcn.00415fd0
push 0x49a3a8
lea ecx, [esp + 0xa8]
mov dword [esp + 0x110], eax
call fcn.00415fd0
push 0x49a3a0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x114], eax
call fcn.00415fd0
push 0x49a394
lea ecx, [esp + 0xa8]
mov dword [esp + 0x104], eax
call fcn.00415fd0
push 0x49a38c
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf8], eax
call fcn.00415fd0
push 0x49a384
lea ecx, [esp + 0xa8]
mov dword [esp + 0x68], eax
call fcn.00415fd0
push 0x49a37c
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf0], eax
call fcn.00415fd0
push 0x49a374
lea ecx, [esp + 0xa8]
mov dword [esp + 0xe8], eax
call fcn.00415fd0
push 0x49a368
lea ecx, [esp + 0xa8]
mov dword [esp + 0x50], eax
call fcn.00415fd0
push 0x49a354
lea ecx, [esp + 0xa8]
mov dword [esp + 0x100], eax
call fcn.00415fd0
mov cl, byte [esp + 0x53]
mov dword [esp + 0xd8], eax
mov byte [esp + 0x54], cl
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebp
mov edx, dword [esp + 0xc0]
mov byte [esp + 0x14c], 1
cmp edx, ebp
jle 0x41492c
jmp 0x413fea
mov esi, dword [esp + 0x1c]
mov eax, dword [0x49e2a4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x100]
push 0x4a8c18
push edx
lea eax, [esp + 0xe8]
push ebp
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x15c], 3
mov dword [esp + 0x40], 0xffffffff
call fcn.00416010
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 4
call fcn.00476a51
lea ecx, [esp + 0xe0]
mov byte [esp + 0x14c], 3
call fcn.00476964
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x414137
mov esi, dword [esi + 0x1c]
xor edi, edi
mov eax, dword [esi + 0x28]
test eax, eax
jle 0x4140d6
test edi, edi
jge 0x414090
push 0x4a8c18
lea ecx, [esp + 0xec]
call fcn.004769d2
or ebx, 2
jmp 0x414099
mov edx, dword [esi + 0x24]
mov eax, dword [edx + edi*4]
add eax, 0x18
mov esi, dword [eax]
test bl, 2
je 0x4140af
lea ecx, [esp + 0xe8]
and ebx, 0xfffffffd
call fcn.00476964
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.00456316
add esp, 8
test eax, eax
jne 0x4140c5
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x1c]
inc edi
mov esi, dword [ecx + 0x1c]
cmp edi, dword [esi + 0x28]
jl 0x414076
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x30], 0xffffffff
jne 0x414137
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00476964
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 7
call fcn.00476964
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 6
call fcn.00476964
lea ecx, [esp + 0x40]
mov byte [esp + 0x14c], 5
call fcn.00476964
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14c], 1
call fcn.00476964
jmp 0x414910
lea edx, [esp + 0x134]
lea esi, [esp + 0x6c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
or eax, 0xffffffff
push 0x4a8c18
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi - 4], eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0xf4]
mov ecx, dword [eax]
push ecx
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.00416010
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 8
call fcn.00476a51
lea ecx, [esp + 0xf0]
mov byte [esp + 0x14c], 3
call fcn.00476964
push 0x2f
lea ecx, [esp + 0x14]
call fcn.00476ddf
mov edi, eax
lea ecx, [esp + 0x10]
lea eax, [edi + 1]
push eax
push 0x2f
mov dword [esp + 0x128], eax
call fcn.00476ded
cmp edi, 0xffffffff
mov ebx, eax
je 0x4142d6
cmp ebx, 0xffffffff
je 0x41426e
lea eax, [esp + 0xf8]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.004750db
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
lea ecx, [esp + 0xf8]
mov dword [esi - 4], eax
call fcn.00476964
mov edx, dword [esp + 0x120]
mov ecx, ebx
sub ecx, edi
lea eax, [esp + 0x128]
dec ecx
push ecx
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.00474fc9
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
lea ecx, [esp + 0x128]
mov dword [esi], eax
call fcn.00476964
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x130]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, ebx
dec eax
push eax
push edx
call fcn.0047505f
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
mov dword [esi + 4], eax
lea ecx, [esp + 0x130]
jmp 0x4142d1
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x12c]
push edi
push ecx
lea ecx, [esp + 0x18]
mov dword [esi - 4], eax
call fcn.004750db
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
lea ecx, [esp + 0x12c]
mov dword [esi], eax
call fcn.00476964
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
sub eax, edi
dec eax
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.0047505f
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
mov dword [esi + 4], eax
lea ecx, [esp + 0xd4]
call fcn.00476964
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add edx, 4
add esi, 0x14
dec eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
jne 0x41414e
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
or eax, 0xffffffff
cmp esi, eax
jne 0x414312
cmp ebx, eax
jne 0x414312
cmp edi, eax
je 0x414436
cmp dword [esp + 0x7c], eax
jne 0x414345
cmp dword [esp + 0x80], eax
jne 0x414345
cmp dword [esp + 0x84], eax
jne 0x414345
mov ecx, 5
lea esi, [esp + 0x68]
lea edi, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push ecx
push edx
push eax
push edi
push ebx
push esi
call fcn.00414d40
add esp, 0x18
test eax, eax
push edi
mov edi, dword [esp + 0x98]
push ebx
push esi
mov esi, dword [esp + 0xa8]
push edi
push esi
jg 0x4143ba
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00414d40
add esp, 0x18
test eax, eax
jl 0x4143f6
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
push edi
push esi
push edx
mov edx, dword [esp + 0x88]
push eax
push ecx
push edx
call fcn.00414d40
add esp, 0x18
test eax, eax
jge 0x414436
jmp 0x4143f6
mov eax, dword [esp + 0x3c]
push eax
call fcn.00414d40
add esp, 0x18
test eax, eax
jle 0x414436
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push edi
push esi
push ecx
mov ecx, dword [esp + 0x88]
push edx
push eax
push ecx
call fcn.00414d40
add esp, 0x18
test eax, eax
jle 0x414436
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00476964
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0xb
call fcn.00476964
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0xa
call fcn.00476964
mov byte [esp + 0x14c], 9
jmp 0x4148f2
lea esi, [esp + 0x78]
lea ebx, [esp + 0x10c]
mov dword [esp + 0x24], 2
mov edx, dword [ebx]
push 0x4a8c18
push edx
lea eax, [esp + 0xd4]
push ebp
mov dword [esi], 0xffffffff
push eax
lea ecx, [esp + 0xb4]
mov dword [esi - 4], 0xffffffff
call fcn.00416010
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 0xc
call fcn.00476a51
lea ecx, [esp + 0xcc]
mov byte [esp + 0x14c], 3
call fcn.00476964
push 0x3a
lea ecx, [esp + 0x14]
call fcn.00476ddf
mov edi, eax
cmp edi, 0xffffffff
je 0x41450c
lea ecx, [esp + 0xdc]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.004750db
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
lea ecx, [esp + 0xdc]
mov dword [esi - 4], eax
call fcn.00476964
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
sub eax, edi
dec eax
push eax
lea eax, [esp + 0x108]
push eax
call fcn.0047505f
mov eax, dword [eax]
push eax
call fcn.00456d32
add esp, 4
lea ecx, [esp + 0x104]
mov dword [esi], eax
call fcn.00476964
mov eax, dword [esp + 0x24]
add ebx, 4
add esi, 0x14
dec eax
mov dword [esp + 0x24], eax
jne 0x414449
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
cmp edi, 0xffffffff
jne 0x414537
cmp esi, 0xffffffff
je 0x41461e
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
cmp eax, 0xffffffff
jne 0x41456d
cmp ebx, 0xffffffff
jne 0x41456d
mov ecx, 5
lea esi, [esp + 0x68]
lea edi, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x88]
push ebx
push ecx
push esi
push edi
call fcn.00414da0
add esp, 0x10
test eax, eax
push esi
mov esi, dword [esp + 0x9c]
push edi
mov edi, dword [esp + 0x98]
push edi
push esi
jg 0x4145bb
call fcn.00414da0
add esp, 0x10
test eax, eax
jl 0x4145de
mov edx, dword [esp + 0x88]
push edi
push esi
push ebx
push edx
call fcn.00414da0
add esp, 0x10
test eax, eax
jge 0x41461e
jmp 0x4145de
call fcn.00414da0
add esp, 0x10
test eax, eax
jle 0x41461e
mov eax, dword [esp + 0x88]
push edi
push esi
push ebx
push eax
call fcn.00414da0
add esp, 0x10
test eax, eax
jle 0x41461e
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00476964
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0xf
call fcn.00476964
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0xe
call fcn.00476964
mov byte [esp + 0x14c], 0xd
jmp 0x4148f2
mov ecx, dword [esp + 0xe4]
push 0x4a8c18
push ecx
lea edx, [esp + 0x110]
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.00416010
mov esi, dword [esp + 0x1c]
mov eax, dword [eax]
push 1
push eax
mov ecx, dword [esi + 4]
mov byte [esp + 0x154], 0x10
call fcn.00436c60
test eax, eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x14c], 3
sete bl
call fcn.00476964
test bl, bl
je 0x4146b6
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00476964
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x13
call fcn.00476964
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x12
call fcn.00476964
mov byte [esp + 0x14c], 0x11
jmp 0x4148f2
mov eax, dword [esp + 0xec]
push 0x4a8c18
push eax
lea ecx, [esp + 0x12c]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.00416010
mov eax, dword [eax]
push 0x49a34c
push eax
mov byte [esp + 0x154], 0x14
call fcn.00456316
add esp, 8
test eax, eax
je 0x414709
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
push ebp
push eax
call fcn.0041ac70
test eax, eax
je 0x414709
mov bl, 1
jmp 0x41470b
xor bl, bl
lea ecx, [esp + 0x124]
mov byte [esp + 0x14c], 3
call fcn.00476964
test bl, bl
je 0x414763
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00476964
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x17
call fcn.00476964
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x16
call fcn.00476964
mov byte [esp + 0x14c], 0x15
jmp 0x4148f2
mov edx, dword [esp + 0xf4]
push 0x4a8c18
push edx
lea eax, [esp + 0x124]
push ebp
push eax
lea ecx, [esp + 0xb4]
call fcn.00416010
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], 0x18
call fcn.00476a51
lea ecx, [esp + 0x11c]
mov byte [esp + 0x14c], 3
call fcn.00476964
mov ecx, dword [esp + 0xfc]
push 0x4a8c18
push ecx
lea edx, [esp + 0xd8]
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.00416010
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x150], 0x19
call fcn.00476a51
lea ecx, [esp + 0xd0]
mov byte [esp + 0x14c], 3
call fcn.00476964
mov eax, dword [esp + 0xd8]
push 0x4a8c18
push eax
lea ecx, [esp + 0xa8]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.00416010
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x150], 0x1a
call fcn.00476a51
lea ecx, [esp + 0xa0]
mov byte [esp + 0x14c], 3
call fcn.00476964
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0xc0]
push 0
push edx
push ebp
lea ecx, [esp + 0xb0]
call fcn.00416070
imul eax, esi
sub eax, ebp
push 0x4a8c18
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x50]
push eax
lea ecx, [esp + 0x1c]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.00416010
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x150], 0x1b
call fcn.00476a51
lea ecx, [esp + 0x14]
mov byte [esp + 0x14c], 3
call fcn.00476964
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x2c]
push edx
push 1
mov dword [esp + 0x34], ebp
push eax
lea ecx, [esp + 0x60]
call fcn.00416150
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00476964
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x1e
call fcn.00476964
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x1d
call fcn.00476964
mov byte [esp + 0x14c], 0x1c
lea ecx, [esp + 0x40]
call fcn.00476964
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14c], 1
call fcn.00476964
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
inc ebp
cmp ebp, eax
jl 0x413fe6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x1c]
mov edx, eax
push 0
sub edx, ecx
push 0x414de0
and edx, 0xffffffe0
push eax
cmp edx, 0x200
mov ebx, eax
mov ebp, ecx
push ecx
jg 0x414952
call fcn.00416820
add esp, 0x10
jmp 0x414996
call fcn.004165c0
lea edi, [ebp + 0x200]
push 0
push 0x414de0
push edi
push ebp
call fcn.00416820
add esp, 0x20
cmp edi, ebx
je 0x414996
push 0x414de0
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x38], esp
push edi
call fcn.00416530
push edi
call fcn.004166e0
add edi, 0x20
add esp, 0x28
cmp edi, ebx
jne 0x414972
xor eax, eax
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x414c91
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
sub eax, edi
sar eax, 5
cmp ecx, eax
jae 0x414c91
mov edx, dword [esi + 0x1c]
mov ecx, dword [esp + 0x1c]
add edi, ecx
xor ebp, ebp
mov eax, dword [edx + 0x28]
test eax, eax
jle 0x414a23
xor ebx, ebx
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x4149e1
cmp eax, ebp
jne 0x414a17
mov eax, dword [esi + 0x20]
mov edx, dword [eax + ebx + 0xc]
lea ecx, [eax + ebx + 0xc]
mov eax, dword [edx - 8]
test eax, eax
jne 0x4149fc
lea eax, [edi + 0x18]
push eax
call fcn.00476a51
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + ebx + 0x10]
lea ecx, [ecx + ebx + 0x10]
mov eax, dword [edx - 8]
test eax, eax
jne 0x414a17
lea eax, [edi + 0x1c]
push eax
call fcn.00476a51
mov ecx, dword [esi + 0x1c]
inc ebp
add ebx, 0x14
cmp ebp, dword [ecx + 0x28]
jl 0x4149d5
mov eax, dword [edi + 0x10]
lea edx, [edi + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x414bf0
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x414c05
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x20]
lea ecx, [eax + ecx*4 + 8]
mov eax, dword [ecx]
mov ebx, dword [eax - 8]
test ebx, ebx
jne 0x414bf0
push edx
call fcn.00476a51
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov ebx, dword [edx + ecx*4]
test ebx, ebx
je 0x414a8c
mov ecx, ebx
call fcn.00406880
push ebx
call fcn.00476eda
add esp, 4
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x20]
lea ebx, [edi + 0x14]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0
mov edx, dword [ebx]
mov eax, dword [edx - 8]
test eax, eax
je 0x414bf0
mov eax, dword [esp + 0x158]
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.004769d2
lea ecx, [esp + 0x18]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x14]
call fcn.00476964
push 0xf4
call fcn.00476eb1
mov ebp, eax
add esp, 4
mov dword [esp + 0x64], ebp
test ebp, ebp
mov byte [esp + 0x14c], 0x20
je 0x414b4b
push 0
push 0x4a8c18
push ecx
mov edx, esp
mov dword [esp + 0xac], esp
push str..anm
push ebx
push edx
call fcn.00476bad
lea eax, [esp + 0x58]
push eax
call fcn.004013c0
mov ebx, dword [esp + 0x28]
add esp, 8
or ebx, 1
mov dword [esp + 0x20], ebx
mov ecx, eax
mov byte [esp + 0x154], 0x21
call fcn.00409730
mov ecx, dword [esi + 4]
push eax
push 0xffffffffffffffff
push ecx
mov ecx, ebp
call fcn.004066a0
xor ebx, ebx
jmp 0x414b4f
xor ebx, ebx
xor eax, eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x14c], 1
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x20]
mov dword [ecx + edx*4], eax
mov al, byte [esp + 0x18]
test al, 1
je 0x414b81
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x4c]
and al, 0xfe
mov dword [esp + 0x18], eax
call fcn.00476964
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x20]
cmp edi, ebx
lea edx, [edi + edi*4]
mov ecx, dword [eax + edx*4]
jge 0x414bb6
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
lea edx, [esp + 0x10c]
jmp 0x414bbf
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + 0x24]
mov edx, dword [eax + edi*4]
mov eax, dword [edx + 4]
mov ebp, dword [edx]
mov edi, dword [edx + 0xc]
mov dword [esp + 0x138], eax
mov eax, dword [edx + 8]
mov edx, dword [ecx + 0x34]
mov ebx, dword [ecx + 0x38]
sub eax, edx
add eax, ebp
sub edi, ebx
cdq
sub eax, edx
push 0
sar eax, 1
push 0x3f800000
push edi
push eax
call fcn.004078a0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
inc ecx
add eax, 0x20
mov dword [esp + 0x20], ecx
jmp 0x41499c
mov ecx, dword [edi]
mov eax, dword [esi + 0x14]
lea ebx, [esi + 0x14]
push ecx
mov ecx, dword [esi + 4]
push eax
call fcn.0041acd0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push ebx
call fcn.004766d9
lea edx, [esp + 0x18]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x14]
call fcn.00476964
push 1
push 0
push ecx
add edi, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call fcn.004766d9
lea eax, [esp + 0x20]
push eax
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x154], 0x1f
call fcn.00409730
mov ecx, dword [esi + 4]
push eax
call fcn.0041a530
lea ecx, [esp + 0x14]
mov byte [esp + 0x14c], 1
call fcn.00476964
push 4
mov ecx, esi
call fcn.00414e70
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov esi, edi
cmp edi, ebp
mov dword [esp + 0x14], esi
je 0x414cef
mov bl, 0x23
lea ecx, [esi + 0x1c]
mov byte [esp + 0x14c], 0x25
call fcn.00476964
lea ecx, [esi + 0x18]
mov byte [esp + 0x14c], 0x24
call fcn.00476964
lea ecx, [esi + 0x14]
mov byte [esp + 0x14c], bl
call fcn.00476964
lea ecx, [esi + 0x10]
mov byte [esp + 0x14c], 0
call fcn.00476964
add esi, 0x20
cmp esi, ebp
mov dword [esp + 0x14], esi
jne 0x414ca1
mov edi, dword [esp + 0x58]
push edi
call fcn.00476eda
xor eax, eax
add esp, 4
lea ecx, [esp + 0xa4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x14c], 0xffffffff
call fcn.00415d30
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x140
ret 8