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

Disassembly:
push 0xffffffffffffffff
push 0x4918b3
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.0041d570
mov edi, dword [esp + 0x154]
lea ecx, [esp + 0xa4]
push edi
mov dword [esp + 0x150], ebp
call fcn.0041d640
test eax, eax
jne 0x41b6ea
mov eax, dword [esi + 4]
push edi
push 0x4a738c
push eax
call fcn.00403b00
add esp, 0xc
mov eax, dword [esi + 4]
push 0x4a8808
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.0041d860
push 0x4a8800
lea ecx, [esp + 0xa8]
mov dword [esp + 0x138], eax
call fcn.0041d860
push 0x4a87f4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x13c], eax
call fcn.0041d860
push 0x4a87e8
lea ecx, [esp + 0xa8]
mov dword [esp + 0x110], eax
call fcn.0041d860
push 0x4a87e0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x114], eax
call fcn.0041d860
push 0x4a87d4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x104], eax
call fcn.0041d860
push 0x4a87cc
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf8], eax
call fcn.0041d860
push 0x4a87c4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x68], eax
call fcn.0041d860
push 0x4a87bc
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf0], eax
call fcn.0041d860
push 0x4a87b4
lea ecx, [esp + 0xa8]
mov dword [esp + 0xe8], eax
call fcn.0041d860
push 0x4a87a8
lea ecx, [esp + 0xa8]
mov dword [esp + 0x50], eax
call fcn.0041d860
push 0x4a8794
lea ecx, [esp + 0xa8]
mov dword [esp + 0x100], eax
call fcn.0041d860
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 0x41c1bc
jmp 0x41b87a
mov esi, dword [esp + 0x1c]
mov eax, dword [0x4aca3c]
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 0x4b73a8
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.0041d8a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 4
call fcn.00482d17
lea ecx, [esp + 0xe0]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x41b9c7
mov esi, dword [esi + 0x20]
xor edi, edi
mov eax, dword [esi + 0x28]
test eax, eax
jle 0x41b966
test edi, edi
jge 0x41b920
push 0x4b73a8
lea ecx, [esp + 0xec]
call fcn.00482c98
or ebx, 2
jmp 0x41b929
mov edx, dword [esi + 0x24]
mov eax, dword [edx + edi*4]
add eax, 0x18
mov esi, dword [eax]
test bl, 2
je 0x41b93f
lea ecx, [esp + 0xe8]
and ebx, 0xfffffffd
call fcn.00482c2a
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.00462206
add esp, 8
test eax, eax
jne 0x41b955
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x1c]
inc edi
mov esi, dword [ecx + 0x20]
cmp edi, dword [esi + 0x28]
jl 0x41b906
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x30], 0xffffffff
jne 0x41b9c7
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00482c2a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 7
call fcn.00482c2a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 6
call fcn.00482c2a
lea ecx, [esp + 0x40]
mov byte [esp + 0x14c], 5
call fcn.00482c2a
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14c], 1
call fcn.00482c2a
jmp 0x41c1a0
lea edx, [esp + 0x134]
lea esi, [esp + 0x6c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
or eax, 0xffffffff
push 0x4b73a8
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.0041d8a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 8
call fcn.00482d17
lea ecx, [esp + 0xf0]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
push 0x2f
lea ecx, [esp + 0x14]
call fcn.004830a5
mov edi, eax
lea ecx, [esp + 0x10]
lea eax, [edi + 1]
push eax
push 0x2f
mov dword [esp + 0x128], eax
call fcn.004830b3
cmp edi, 0xffffffff
mov ebx, eax
je 0x41bb66
cmp ebx, 0xffffffff
je 0x41bafe
lea eax, [esp + 0xf8]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.0048125d
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
lea ecx, [esp + 0xf8]
mov dword [esi - 4], eax
call fcn.00482c2a
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.0048114b
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
lea ecx, [esp + 0x128]
mov dword [esi], eax
call fcn.00482c2a
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.004811e1
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
mov dword [esi + 4], eax
lea ecx, [esp + 0x130]
jmp 0x41bb61
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x12c]
push edi
push ecx
lea ecx, [esp + 0x18]
mov dword [esi - 4], eax
call fcn.0048125d
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
lea ecx, [esp + 0x12c]
mov dword [esi], eax
call fcn.00482c2a
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.004811e1
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
mov dword [esi + 4], eax
lea ecx, [esp + 0xd4]
call fcn.00482c2a
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 0x41b9de
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
or eax, 0xffffffff
cmp esi, eax
jne 0x41bba2
cmp ebx, eax
jne 0x41bba2
cmp edi, eax
je 0x41bcc6
cmp dword [esp + 0x7c], eax
jne 0x41bbd5
cmp dword [esp + 0x80], eax
jne 0x41bbd5
cmp dword [esp + 0x84], eax
jne 0x41bbd5
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.0041c5e0
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 0x41bc4a
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0041c5e0
add esp, 0x18
test eax, eax
jl 0x41bc86
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.0041c5e0
add esp, 0x18
test eax, eax
jge 0x41bcc6
jmp 0x41bc86
mov eax, dword [esp + 0x3c]
push eax
call fcn.0041c5e0
add esp, 0x18
test eax, eax
jle 0x41bcc6
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.0041c5e0
add esp, 0x18
test eax, eax
jle 0x41bcc6
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00482c2a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0xb
call fcn.00482c2a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0xa
call fcn.00482c2a
mov byte [esp + 0x14c], 9
jmp 0x41c182
lea esi, [esp + 0x78]
lea ebx, [esp + 0x10c]
mov dword [esp + 0x24], 2
mov edx, dword [ebx]
push 0x4b73a8
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.0041d8a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x150], 0xc
call fcn.00482d17
lea ecx, [esp + 0xcc]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
push 0x3a
lea ecx, [esp + 0x14]
call fcn.004830a5
mov edi, eax
cmp edi, 0xffffffff
je 0x41bd9c
lea ecx, [esp + 0xdc]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.0048125d
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
lea ecx, [esp + 0xdc]
mov dword [esi - 4], eax
call fcn.00482c2a
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.004811e1
mov eax, dword [eax]
push eax
call fcn.00462c22
add esp, 4
lea ecx, [esp + 0x104]
mov dword [esi], eax
call fcn.00482c2a
mov eax, dword [esp + 0x24]
add ebx, 4
add esi, 0x14
dec eax
mov dword [esp + 0x24], eax
jne 0x41bcd9
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
cmp edi, 0xffffffff
jne 0x41bdc7
cmp esi, 0xffffffff
je 0x41beae
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
cmp eax, 0xffffffff
jne 0x41bdfd
cmp ebx, 0xffffffff
jne 0x41bdfd
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.0041c640
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 0x41be4b
call fcn.0041c640
add esp, 0x10
test eax, eax
jl 0x41be6e
mov edx, dword [esp + 0x88]
push edi
push esi
push ebx
push edx
call fcn.0041c640
add esp, 0x10
test eax, eax
jge 0x41beae
jmp 0x41be6e
call fcn.0041c640
add esp, 0x10
test eax, eax
jle 0x41beae
mov eax, dword [esp + 0x88]
push edi
push esi
push ebx
push eax
call fcn.0041c640
add esp, 0x10
test eax, eax
jle 0x41beae
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00482c2a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0xf
call fcn.00482c2a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0xe
call fcn.00482c2a
mov byte [esp + 0x14c], 0xd
jmp 0x41c182
mov ecx, dword [esp + 0xe4]
push 0x4b73a8
push ecx
lea edx, [esp + 0x110]
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.0041d8a0
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.004425f0
test eax, eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x14c], 3
sete bl
call fcn.00482c2a
test bl, bl
je 0x41bf46
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00482c2a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x13
call fcn.00482c2a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x12
call fcn.00482c2a
mov byte [esp + 0x14c], 0x11
jmp 0x41c182
mov eax, dword [esp + 0xec]
push 0x4b73a8
push eax
lea ecx, [esp + 0x12c]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.0041d8a0
mov eax, dword [eax]
push 0x4a878c
push eax
mov byte [esp + 0x154], 0x14
call fcn.00462206
add esp, 8
test eax, eax
je 0x41bf99
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
push ebp
push eax
call fcn.00422dd0
test eax, eax
je 0x41bf99
mov bl, 1
jmp 0x41bf9b
xor bl, bl
lea ecx, [esp + 0x124]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
test bl, bl
je 0x41bff3
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00482c2a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x17
call fcn.00482c2a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x16
call fcn.00482c2a
mov byte [esp + 0x14c], 0x15
jmp 0x41c182
mov edx, dword [esp + 0xf4]
push 0x4b73a8
push edx
lea eax, [esp + 0x124]
push ebp
push eax
lea ecx, [esp + 0xb4]
call fcn.0041d8a0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], 0x18
call fcn.00482d17
lea ecx, [esp + 0x11c]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
mov ecx, dword [esp + 0xfc]
push 0x4b73a8
push ecx
lea edx, [esp + 0xd8]
push ebp
push edx
lea ecx, [esp + 0xb4]
call fcn.0041d8a0
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x150], 0x19
call fcn.00482d17
lea ecx, [esp + 0xd0]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
mov eax, dword [esp + 0xd8]
push 0x4b73a8
push eax
lea ecx, [esp + 0xa8]
push ebp
push ecx
lea ecx, [esp + 0xb4]
call fcn.0041d8a0
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x150], 0x1a
call fcn.00482d17
lea ecx, [esp + 0xa0]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0xc0]
push 0
push edx
push ebp
lea ecx, [esp + 0xb0]
call fcn.0041d900
imul eax, esi
sub eax, ebp
push 0x4b73a8
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.0041d8a0
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x150], 0x1b
call fcn.00482d17
lea ecx, [esp + 0x14]
mov byte [esp + 0x14c], 3
call fcn.00482c2a
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.0041d9e0
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 2
call fcn.00482c2a
lea ecx, [esp + 0x48]
mov byte [esp + 0x14c], 0x1e
call fcn.00482c2a
lea ecx, [esp + 0x44]
mov byte [esp + 0x14c], 0x1d
call fcn.00482c2a
mov byte [esp + 0x14c], 0x1c
lea ecx, [esp + 0x40]
call fcn.00482c2a
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14c], 1
call fcn.00482c2a
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
inc ebp
cmp ebp, eax
jl 0x41b876
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x1c]
mov edx, eax
push 0
sub edx, ecx
push 0x41c680
and edx, 0xffffffe0
push eax
cmp edx, 0x200
mov ebx, eax
mov ebp, ecx
push ecx
jg 0x41c1e2
call fcn.0041e0b0
add esp, 0x10
jmp 0x41c226
call fcn.0041de50
lea edi, [ebp + 0x200]
push 0
push 0x41c680
push edi
push ebp
call fcn.0041e0b0
add esp, 0x20
cmp edi, ebx
je 0x41c226
push 0x41c680
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x38], esp
push edi
call fcn.0041ddc0
push edi
call fcn.0041df70
add edi, 0x20
add esp, 0x28
cmp edi, ebx
jne 0x41c202
xor eax, eax
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x41c52a
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
sub eax, edi
sar eax, 5
cmp ecx, eax
jae 0x41c52a
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 0x41c2b3
xor ebx, ebx
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x41c271
cmp eax, ebp
jne 0x41c2a7
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 0x41c28c
lea eax, [edi + 0x18]
push eax
call fcn.00482d17
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 0x41c2a7
lea eax, [edi + 0x1c]
push eax
call fcn.00482d17
mov ecx, dword [esi + 0x20]
inc ebp
add ebx, 0x14
cmp ebp, dword [ecx + 0x28]
jl 0x41c265
mov eax, dword [edi + 0x10]
lea edx, [edi + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x41c480
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x41c495
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 0x41c480
push edx
call fcn.00482d17
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 0x41c31c
mov ecx, ebx
call fcn.004069a0
push ebx
call fcn.004831a0
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 0x41c480
mov eax, dword [esp + 0x158]
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
call fcn.00482c98
lea ecx, [esp + 0x18]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x14]
call fcn.00482c2a
push 0xf4
call fcn.00483177
mov ebp, eax
add esp, 4
mov dword [esp + 0x64], ebp
test ebp, ebp
mov byte [esp + 0x14c], 0x20
je 0x41c3db
push 0
push 0x4b73a8
push ecx
mov edx, esp
mov dword [esp + 0xac], esp
push str..anm
push ebx
push edx
call fcn.00482e73
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.00409e30
mov ecx, dword [esi + 4]
push eax
push 0xffffffffffffffff
push ecx
mov ecx, ebp
call fcn.004067c0
xor ebx, ebx
jmp 0x41c3df
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 0x41c411
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x4c]
and al, 0xfe
mov dword [esp + 0x18], eax
call fcn.00482c2a
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 0x41c446
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 0x41c44f
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.00407aa0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
inc ecx
add eax, 0x20
mov dword [esp + 0x20], ecx
jmp 0x41c22c
mov ecx, dword [edi]
mov eax, dword [esi + 0x14]
lea ebx, [esi + 0x14]
push ecx
mov ecx, dword [esi + 4]
push eax
call fcn.00422e30
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push ebx
call fcn.0048299f
lea edx, [esp + 0x18]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x14]
call fcn.00482c2a
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.0048299f
lea ecx, [esp + 0x20]
push ecx
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x154], 0x1f
call fcn.00409e30
mov ecx, dword [esi + 4]
push eax
call fcn.004225e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x14c], 1
call fcn.00482c2a
push 4
mov ecx, esi
call fcn.0041c710
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov esi, edi
cmp edi, ebp
mov dword [esp + 0x14], esi
je 0x41c588
mov bl, 0x23
lea ecx, [esi + 0x1c]
mov byte [esp + 0x14c], 0x25
call fcn.00482c2a
lea ecx, [esi + 0x18]
mov byte [esp + 0x14c], 0x24
call fcn.00482c2a
lea ecx, [esi + 0x14]
mov byte [esp + 0x14c], bl
call fcn.00482c2a
lea ecx, [esi + 0x10]
mov byte [esp + 0x14c], 0
call fcn.00482c2a
add esi, 0x20
cmp esi, ebp
mov dword [esp + 0x14], esi
jne 0x41c53a
mov edi, dword [esp + 0x58]
push edi
call fcn.004831a0
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.0041d5c0
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x140
ret 8