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

Disassembly:
push 0xffffffffffffffff
push 0x494193
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.0041e020
mov edi, dword [esp + 0x154]
lea ecx, [esp + 0xa4]
push edi
mov dword [esp + 0x150], ebp
call fcn.0041e100
test eax, eax
jne 0x41c19a
mov eax, dword [esi + 4]
push edi
push 0x4aa38c
push eax
call fcn.00403b00
add esp, 0xc
mov eax, dword [esi + 4]
push 0x4ab868
mov ecx, dword [eax + 0x288]
mov edx, dword [eax + 0x28c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x290]
mov dword [esp + 0xa0], edx
mov edx, dword [eax + 0x294]
mov eax, dword [eax + 0x298]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], eax
call fcn.0041e320
push 0x4ab860
lea ecx, [esp + 0xa8]
mov dword [esp + 0x138], eax
call fcn.0041e320
push 0x4ab854
lea ecx, [esp + 0xa8]
mov dword [esp + 0x13c], eax
call fcn.0041e320
push 0x4ab848
lea ecx, [esp + 0xa8]
mov dword [esp + 0x110], eax
call fcn.0041e320
push 0x4ab840
lea ecx, [esp + 0xa8]
mov dword [esp + 0x114], eax
call fcn.0041e320
push 0x4ab834
lea ecx, [esp + 0xa8]
mov dword [esp + 0x104], eax
call fcn.0041e320
push 0x4ab82c
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf8], eax
call fcn.0041e320
push 0x4ab824
lea ecx, [esp + 0xa8]
mov dword [esp + 0x68], eax
call fcn.0041e320
push 0x4ab81c
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf0], eax
call fcn.0041e320
push 0x4ab814
lea ecx, [esp + 0xa8]
mov dword [esp + 0xe8], eax
call fcn.0041e320
push 0x4ab808
lea ecx, [esp + 0xa8]
mov dword [esp + 0x50], eax
call fcn.0041e320
push 0x4ab7f4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x100], eax
call fcn.0041e320
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 0x41cc6c
jmp 0x41c32a
mov esi, dword [esp + 0x1c]
mov eax, dword [0x4afb38]
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 0x4ba4a8
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.0041e360
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 4
call fcn.00485517
lea ecx, [esp + 0xe0]
mov byte [esp + 0x14c], 3
call fcn.0048542a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x41c477
mov esi, dword [esi + 0x20]
xor edi, edi
mov eax, dword [esi + 0x28]
test eax, eax
jle 0x41c416
test edi, edi
jge 0x41c3d0
push 0x4ba4a8
lea ecx, [esp + 0xec]
call fcn.00485498
or ebx, 2
jmp 0x41c3d9
mov edx, dword [esi + 0x24]
mov eax, dword [edx + edi*4]
add eax, 0x18
mov esi, dword [eax]
test bl, 2
je 0x41c3ef
lea ecx, [esp + 0xe8]
and ebx, 0xfffffffd
call fcn.0048542a
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.00464a16
add esp, 8
test eax, eax
jne 0x41c405
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x1c]
inc edi
mov esi, dword [ecx + 0x20]
cmp edi, dword [esi + 0x28]
jl 0x41c3b6
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x30], 0xffffffff
jne 0x41c477
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.0048542a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 7
call fcn.0048542a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 6
call fcn.0048542a
lea ecx, [esp + 0x40]
mov byte [esp + 0x14c], 5
call fcn.0048542a
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14c], 1
call fcn.0048542a
jmp 0x41cc50
lea edx, [esp + 0x134]
lea esi, [esp + 0x6c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
or eax, 0xffffffff
push 0x4ba4a8
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.0041e360
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 8
call fcn.00485517
lea ecx, [esp + 0xf0]
mov byte [esp + 0x14c], 3
call fcn.0048542a
push 0x2f
lea ecx, [esp + 0x14]
call fcn.004858a5
mov edi, eax
lea ecx, [esp + 0x10]
lea eax, [edi + 1]
push eax
push 0x2f
mov dword [esp + 0x128], eax
call fcn.004858b3
cmp edi, 0xffffffff
mov ebx, eax
je 0x41c616
cmp ebx, 0xffffffff
je 0x41c5ae
lea eax, [esp + 0xf8]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.00483a5d
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
lea ecx, [esp + 0xf8]
mov dword [esi - 4], eax
call fcn.0048542a
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.0048394b
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
lea ecx, [esp + 0x128]
mov dword [esi], eax
call fcn.0048542a
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.004839e1
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
mov dword [esi + 4], eax
lea ecx, [esp + 0x130]
jmp 0x41c611
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x12c]
push edi
push ecx
lea ecx, [esp + 0x18]
mov dword [esi - 4], eax
call fcn.00483a5d
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
lea ecx, [esp + 0x12c]
mov dword [esi], eax
call fcn.0048542a
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.004839e1
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
mov dword [esi + 4], eax
lea ecx, [esp + 0xd4]
call fcn.0048542a
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 0x41c48e
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
or eax, 0xffffffff
cmp esi, eax
jne 0x41c652
cmp ebx, eax
jne 0x41c652
cmp edi, eax
je 0x41c776
cmp dword [esp + 0x7c], eax
jne 0x41c685
cmp dword [esp + 0x80], eax
jne 0x41c685
cmp dword [esp + 0x84], eax
jne 0x41c685
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.0041d090
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 0x41c6fa
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0041d090
add esp, 0x18
test eax, eax
jl 0x41c736
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.0041d090
add esp, 0x18
test eax, eax
jge 0x41c776
jmp 0x41c736
mov eax, dword [esp + 0x3c]
push eax
call fcn.0041d090
add esp, 0x18
test eax, eax
jle 0x41c776
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.0041d090
add esp, 0x18
test eax, eax
jle 0x41c776
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.0048542a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0xb
call fcn.0048542a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0xa
call fcn.0048542a
mov byte [esp + 0x14c], 9
jmp 0x41cc32
lea esi, [esp + 0x78]
lea ebx, [esp + 0x10c]
mov dword [esp + 0x24], 2
mov edx, dword [ebx]
push 0x4ba4a8
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.0041e360
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 0xc
call fcn.00485517
lea ecx, [esp + 0xcc]
mov byte [esp + 0x14c], 3
call fcn.0048542a
push 0x3a
lea ecx, [esp + 0x14]
call fcn.004858a5
mov edi, eax
cmp edi, 0xffffffff
je 0x41c84c
lea ecx, [esp + 0xdc]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.00483a5d
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
lea ecx, [esp + 0xdc]
mov dword [esi - 4], eax
call fcn.0048542a
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.004839e1
mov eax, dword [eax]
push eax
call fcn.00465432
add esp, 4
lea ecx, [esp + 0x104]
mov dword [esi], eax
call fcn.0048542a
mov eax, dword [esp + 0x24]
add ebx, 4
add esi, 0x14
dec eax
mov dword [esp + 0x24], eax
jne 0x41c789
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
cmp edi, 0xffffffff
jne 0x41c877
cmp esi, 0xffffffff
je 0x41c95e
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
cmp eax, 0xffffffff
jne 0x41c8ad
cmp ebx, 0xffffffff
jne 0x41c8ad
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.0041d0f0
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 0x41c8fb
call fcn.0041d0f0
add esp, 0x10
test eax, eax
jl 0x41c91e
mov edx, dword [esp + 0x88]
push edi
push esi
push ebx
push edx
call fcn.0041d0f0
add esp, 0x10
test eax, eax
jge 0x41c95e
jmp 0x41c91e
call fcn.0041d0f0
add esp, 0x10
test eax, eax
jle 0x41c95e
mov eax, dword [esp + 0x88]
push edi
push esi
push ebx
push eax
call fcn.0041d0f0
add esp, 0x10
test eax, eax
jle 0x41c95e
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.0048542a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0xf
call fcn.0048542a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0xe
call fcn.0048542a
mov byte [esp + 0x14c], 0xd
jmp 0x41cc32
mov ecx, dword [esp + 0xe4]
push 0x4ba4a8
push ecx
lea edx, [esp + 0x110]
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.0041e360
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.00443e90
test eax, eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x14c], 3
sete bl
call fcn.0048542a
test bl, bl
je 0x41c9f6
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.0048542a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x13
call fcn.0048542a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x12
call fcn.0048542a
mov byte [esp + 0x14c], 0x11
jmp 0x41cc32
mov eax, dword [esp + 0xec]
push 0x4ba4a8
push eax
lea ecx, [esp + 0x12c]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.0041e360
mov eax, dword [eax]
push 0x4ab7ec
push eax
mov byte [esp + 0x154], 0x14
call fcn.00464a16
add esp, 8
test eax, eax
je 0x41ca49
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
push ebp
push eax
call fcn.00423a30
test eax, eax
je 0x41ca49
mov bl, 1
jmp 0x41ca4b
xor bl, bl
lea ecx, [esp + 0x124]
mov byte [esp + 0x14c], 3
call fcn.0048542a
test bl, bl
je 0x41caa3
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.0048542a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x17
call fcn.0048542a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x16
call fcn.0048542a
mov byte [esp + 0x14c], 0x15
jmp 0x41cc32
mov edx, dword [esp + 0xf4]
push 0x4ba4a8
push edx
lea eax, [esp + 0x124]
push ebp
push eax
lea ecx, [esp + 0xb4]
call fcn.0041e360
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], 0x18
call fcn.00485517
lea ecx, [esp + 0x11c]
mov byte [esp + 0x14c], 3
call fcn.0048542a
mov ecx, dword [esp + 0xfc]
push 0x4ba4a8
push ecx
lea edx, [esp + 0xd8]
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.0041e360
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x150], 0x19
call fcn.00485517
lea ecx, [esp + 0xd0]
mov byte [esp + 0x14c], 3
call fcn.0048542a
mov eax, dword [esp + 0xd8]
push 0x4ba4a8
push eax
lea ecx, [esp + 0xa8]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.0041e360
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x150], 0x1a
call fcn.00485517
lea ecx, [esp + 0xa0]
mov byte [esp + 0x14c], 3
call fcn.0048542a
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0xc0]
push 0
push edx
push ebp
lea ecx, [esp + 0xb0]
call fcn.0041e3c0
imul eax, esi
sub eax, ebp
push 0x4ba4a8
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.0041e360
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x150], 0x1b
call fcn.00485517
lea ecx, [esp + 0x14]
mov byte [esp + 0x14c], 3
call fcn.0048542a
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.0041e4a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.0048542a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x1e
call fcn.0048542a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x1d
call fcn.0048542a
mov byte [esp + 0x14c], 0x1c
lea ecx, [esp + 0x40]
call fcn.0048542a
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14c], 1
call fcn.0048542a
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
inc ebp
cmp ebp, eax
jl 0x41c326
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x1c]
mov edx, eax
push 0
sub edx, ecx
push 0x41d130
and edx, 0xffffffe0
push eax
cmp edx, 0x200
mov ebx, eax
mov ebp, ecx
push ecx
jg 0x41cc92
call fcn.0041eb70
add esp, 0x10
jmp 0x41ccd6
call fcn.0041e910
lea edi, [ebp + 0x200]
push 0
push 0x41d130
push edi
push ebp
call fcn.0041eb70
add esp, 0x20
cmp edi, ebx
je 0x41ccd6
push 0x41d130
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x38], esp
push edi
call fcn.0041e880
push edi
call fcn.0041ea30
add edi, 0x20
add esp, 0x28
cmp edi, ebx
jne 0x41ccb2
xor eax, eax
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x41cfda
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
sub eax, edi
sar eax, 5
cmp ecx, eax
jae 0x41cfda
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x1c]
add edi, ecx
xor ebp, ebp
mov eax, dword [edx + 0x28]
test eax, eax
jle 0x41cd63
xor ebx, ebx
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x41cd21
cmp eax, ebp
jne 0x41cd57
mov eax, dword [esi + 0x24]
mov edx, dword [eax + ebx + 0xc]
lea ecx, [eax + ebx + 0xc]
mov eax, dword [edx - 8]
test eax, eax
jne 0x41cd3c
lea eax, [edi + 0x18]
push eax
call fcn.00485517
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx + ebx + 0x10]
lea ecx, [ecx + ebx + 0x10]
mov eax, dword [edx - 8]
test eax, eax
jne 0x41cd57
lea eax, [edi + 0x1c]
push eax
call fcn.00485517
mov ecx, dword [esi + 0x20]
inc ebp
add ebx, 0x14
cmp ebp, dword [ecx + 0x28]
jl 0x41cd15
mov eax, dword [edi + 0x10]
lea edx, [edi + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x41cf30
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x41cf45
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x24]
lea ecx, [eax + ecx*4 + 8]
mov eax, dword [ecx]
mov ebx, dword [eax - 8]
test ebx, ebx
jne 0x41cf30
push edx
call fcn.00485517
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x24]
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 + 0x24]
lea ecx, [eax + eax*4]
mov ebx, dword [edx + ecx*4]
test ebx, ebx
je 0x41cdcc
mov ecx, ebx
call fcn.00406dc0
push ebx
call fcn.004859a0
add esp, 4
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x24]
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 0x41cf30
mov eax, dword [esp + 0x158]
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.00485498
lea ecx, [esp + 0x18]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x14]
call fcn.0048542a
push 0xf4
call fcn.00485977
mov ebp, eax
add esp, 4
mov dword [esp + 0x64], ebp
test ebp, ebp
mov byte [esp + 0x14c], 0x20
je 0x41ce8b
push 0
push 0x4ba4a8
push ecx
mov edx, esp
mov dword [esp + 0xac], esp
push str..anm
push ebx
push edx
call fcn.00485673
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.0040a270
mov ecx, dword [esi + 4]
push eax
push 0xffffffffffffffff
push ecx
mov ecx, ebp
call fcn.00406be0
xor ebx, ebx
jmp 0x41ce8f
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 + 0x24]
mov dword [ecx + edx*4], eax
mov al, byte [esp + 0x18]
test al, 1
je 0x41cec1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x4c]
and al, 0xfe
mov dword [esp + 0x18], eax
call fcn.0048542a
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x24]
cmp edi, ebx
lea edx, [edi + edi*4]
mov ecx, dword [eax + edx*4]
jge 0x41cef6
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 0x41ceff
mov edx, dword [esi + 0x20]
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.00407ed0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
inc ecx
add eax, 0x20
mov dword [esp + 0x20], ecx
jmp 0x41ccdc
mov ecx, dword [edi]
mov eax, dword [esi + 0x14]
lea ebx, [esi + 0x14]
push ecx
mov ecx, dword [esi + 4]
push eax
call fcn.00423a90
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push ebx
call fcn.0048519f
lea edx, [esp + 0x18]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x14]
call fcn.0048542a
mov edx, dword [esi + 0x1c]
xor eax, eax
test edx, edx
sete al
push eax
push 0
push ecx
add edi, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call fcn.0048519f
lea ecx, [esp + 0x20]
push ecx
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x154], 0x1f
call fcn.0040a270
mov ecx, dword [esi + 4]
push eax
call fcn.00423240
lea ecx, [esp + 0x14]
mov byte [esp + 0x14c], 1
call fcn.0048542a
push 4
mov ecx, esi
call fcn.0041d1c0
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov esi, edi
cmp edi, ebp
mov dword [esp + 0x14], esi
je 0x41d038
mov bl, 0x23
lea ecx, [esi + 0x1c]
mov byte [esp + 0x14c], 0x25
call fcn.0048542a
lea ecx, [esi + 0x18]
mov byte [esp + 0x14c], 0x24
call fcn.0048542a
lea ecx, [esi + 0x14]
mov byte [esp + 0x14c], bl
call fcn.0048542a
lea ecx, [esi + 0x10]
mov byte [esp + 0x14c], 0
call fcn.0048542a
add esi, 0x20
cmp esi, ebp
mov dword [esp + 0x14], esi
jne 0x41cfea
mov edi, dword [esp + 0x58]
push edi
call fcn.004859a0
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.0041e080
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x140
ret 8