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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x22c]
mov dword [esp + 0x94], eax
mov eax, dword [ebx + 0x230]
xor ecx, ecx
inc ecx
mov dword [ebx + 0x22c], eax
inc eax
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x230], eax
push edi
mov edi, dword [ebx]
xor eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], edi
cmp esi, eax
je 0x4a102c
cmp byte [edi + 0x1e], al
jne 0x4a102c
cmp dword [ebx + 0x40], eax
jne 0x4a102c
push eax
push eax
push eax
push 0x15
mov eax, ebx
call fcn.004916fe
add esp, 0x10
test eax, eax
je 0x4a0329
xor eax, eax
inc eax
jmp 0x4a102e
push 0x2c
lea eax, [esp + 0x74]
push 0
push eax
call fcn.00407dd0
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp byte [eax], 4
ja 0x4a0359
push edi
mov edi, dword [esi + 0x18]
call fcn.0048d414
and dword [esi + 0x18], 0
mov eax, 0xfffe
and word [esi + 6], ax
pop ecx
push 0
push esi
push ebx
call fcn.0049ffc4
mov eax, dword [esi + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esi]
add esp, 0xc
cmp dword [ebx + 0x40], 0
mov dword [esp + 0x38], eax
jne 0x4a0fd3
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x1e], 0
jne 0x4a0fd3
movzx eax, word [esi + 6]
shr eax, 2
and eax, 1
mov edi, ebx
mov dword [esp + 0x34], eax
call fcn.0049e017
mov dword [esp + 0x10], eax
test eax, eax
je 0x4a0fd3
mov eax, dword [esp + 0x38]
push dword [eax]
mov eax, dword [ebp + 0x10]
call fcn.0049d2da
pop ecx
test eax, eax
jne 0x4a0fd3
and dword [esp + 0x30], eax
jmp 0x4a04d2
mov eax, dword [esp + 0x44]
movsx ecx, word [eax]
cmp dword [esp + 0x30], ecx
jge 0x4a04dc
mov ecx, dword [esp + 0x30]
imul ecx, ecx, 0x38
lea ebx, [ecx + eax + 8]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x54], eax
test eax, eax
je 0x4a04ce
cmp byte [ebx + 0x14], 0
jne 0x4a04ce
mov eax, esi
call fcn.0048c821
mov ecx, dword [ebp + 8]
add dword [ecx + 0x220], eax
mov eax, dword [esp + 0x54]
movzx edi, word [eax + 6]
shr edi, 2
and edi, 1
push edi
push dword [esp + 0x38]
mov eax, esi
push dword [esp + 0x38]
push ecx
call fcn.0049f41e
add esp, 0x10
test eax, eax
je 0x4a0455
test edi, edi
je 0x4a044e
or word [esi + 6], 4
mov dword [esp + 0x34], 1
or dword [esp + 0x30], 0xffffffff
jmp 0x4a049a
push dword [ebx + 0x18]
lea eax, [esp + 0xd4]
push 9
call fcn.0049cc63
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x230]
mov edi, dword [esp + 0x5c]
mov byte [ebx + 0x17], cl
lea ecx, [esp + 0xd8]
push ecx
push edi
push eax
call fcn.004a02b0
mov byte [ebx + 0x14], 1
fld qword [edi + 0x48]
add esp, 0x14
call fcn.0041d2c6
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x1e], 0
jne 0x4a0fd3
mov eax, esi
call fcn.0048c821
mov ecx, dword [ebp + 8]
sub dword [ecx + 0x220], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x10]
cmp byte [eax], 4
jbe 0x4a04ce
mov eax, dword [esi + 0x18]
mov dword [esp + 0x20], eax
inc dword [esp + 0x30]
cmp dword [esi + 0x1c], 0
je 0x4a03d2
mov eax, dword [esi]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x60], eax
movzx eax, word [esi + 6]
mov ecx, eax
and ecx, 1
cmp dword [esi + 0x1c], 0
mov dword [esp + 0x4c], ecx
je 0x4a056a
cmp dword [esi + 0x24], 0
jne 0x4a0548
xor ecx, ecx
xor edx, edx
mov eax, esi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], esi
mov ecx, eax
mov eax, dword [eax + 0x1c]
inc edx
test eax, eax
jne 0x4a0516
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x4a0548
cmp edx, eax
jle 0x4a0548
mov edi, dword [ebp + 8]
push 0x54cd00
call fcn.004719ba
pop ecx
jmp 0x4a0fd3
push dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push edi
mov eax, esi
call fcn.0049e1d0
pop ecx
pop ecx
mov ecx, dword [esp + 0x9c]
mov dword [edi + 0x22c], ecx
jmp 0x4a102e
and al, 5
cmp al, 1
jne 0x4a0591
mov ebx, dword [esp + 0x38]
push 0
push dword [esp + 0x30]
call fcn.0048cf86
mov dword [esi + 0x10], eax
mov dword [esp + 0x1c], eax
pop ecx
mov eax, 0xfffe
and word [esi + 6], ax
pop ecx
mov ebx, dword [esp + 0x20]
mov edi, dword [esi + 0x10]
call fcn.0048f5b1
test eax, eax
jne 0x4a05b0
mov eax, dword [esp + 0x2c]
test byte [eax + 0xc], 0x20
jne 0x4a05b0
and dword [esp + 0x20], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
test edi, edi
je 0x4a05ef
push edi
push ebx
call fcn.0049d638
mov ecx, dword [ebx + 0x44]
push 0xfffffffffffffff0
push eax
mov dword [edi + 8], ecx
inc dword [ebx + 0x44]
mov eax, dword [edi]
push 0
inc eax
inc eax
push eax
push dword [edi + 8]
push 0x29
push dword [esp + 0x30]
call fcn.004821a0
add esp, 0x24
mov dword [esp + 0x28], eax
mov dword [esi + 0x40], eax
jmp 0x4a05f4
or dword [esp + 0x28], 0xffffffff
mov eax, dword [ebp + 0x10]
cmp byte [eax], 9
jne 0x4a0613
mov ecx, dword [esp + 0x38]
push dword [ecx]
push dword [eax + 4]
mov eax, dword [esp + 0x18]
push 0x29
call fcn.00482189
add esp, 0xc
mov eax, dword [esp + 0x10]
call fcn.00482201
fld qword [0x551ac0]
mov dword [esp + 0xa8], eax
fstp qword [esi + 0x48]
push eax
mov eax, esi
mov ecx, ebx
call fcn.0049e040
test byte [esi + 6], 1
pop ecx
je 0x4a0675
mov edi, dword [ebx + 0x44]
lea eax, [edi + 1]
mov dword [ebx + 0x44], eax
push dword [esi]
mov dword [esp + 0x58], edi
push ebx
call fcn.0049d638
push 0xfffffffffffffff0
push eax
push 0
push 0
push edi
push 0x29
push dword [esp + 0x30]
call fcn.004821a0
mov ecx, dword [esp + 0x34]
add esp, 0x24
mov dl, 0x10
call fcn.004823fd
jmp 0x4a067a
or dword [esp + 0x54], 0xffffffff
cmp dword [esp + 0x34], 0
mov edi, dword [esp + 0x14]
jne 0x4a0712
test edi, edi
jne 0x4a0716
push edi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x44]
push dword [esp + 0x50]
push ebx
call fcn.004a75bf
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4a0fd3
fld qword [esi + 0x48]
fcomp qword [edi + 0x28]
fnstsw ax
test ah, 0x41
jne 0x4a06c5
fld qword [edi + 0x28]
fstp qword [esi + 0x48]
cmp dword [esp + 0x28], 0
jl 0x4a06e7
cmp dword [esp + 0x20], 0
jne 0x4a06e7
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
push 1
call fcn.00482551
or dword [esi + 0x40], 0xffffffff
pop ecx
push dword [edi + 0x14]
mov eax, dword [ebp + 0x10]
push dword [edi + 0x10]
push 0xffffffffffffffff
push dword [esp + 0x2c]
push 0
push 0
push dword [esp + 0x50]
push esi
push ebx
call fcn.0049d300
add esp, 0x24
call fcn.004a7d9e
jmp 0x4a0f7f
test edi, edi
je 0x4a075f
mov eax, dword [esi]
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
test ecx, ecx
jle 0x4a0731
add eax, 0x10
xor edx, edx
mov word [eax], dx
dec ecx
add eax, 0x14
test ecx, ecx
jg 0x4a0724
mov eax, dword [edi]
mov ecx, dword [edi + 0xc]
test eax, eax
jle 0x4a074a
add ecx, 0x10
xor edx, edx
mov word [ecx], dx
dec eax
add ecx, 0x14
test eax, eax
jg 0x4a073d
fld qword [0x551a08]
fcom qword [esi + 0x48]
fnstsw ax
test ah, 5
jp 0x4a0763
fstp qword [esi + 0x48]
jmp 0x4a0765
fld1
jmp 0x4a075a
fstp st(0)
mov eax, dword [esp + 0x10]
call fcn.00482201
push 0x24
mov dword [esp + 0x44], eax
lea eax, [esp + 0xb0]
push 0
push eax
call fcn.00407dd0
mov eax, dword [esp + 0x50]
mov dword [esp + 0xbc], eax
add esp, 0xc
lea eax, [esp + 0x70]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xc8], eax
test edi, edi
je 0x4a07b0
mov eax, dword [edi]
inc eax
mov dword [esp + 0x7c], eax
jmp 0x4a07b5
and dword [esp + 0x7c], 0
mov esi, dword [esp + 0x38]
lea eax, [esp + 0xac]
push eax
mov dword [esp + 0x7c], edi
call fcn.0048f8b9
mov esi, dword [esp + 0x24]
pop ecx
lea eax, [esp + 0xac]
push eax
call fcn.0048f8b9
xor ebx, ebx
pop ecx
cmp dword [esp + 0x60], ebx
je 0x4a07f6
push dword [esp + 0x60]
lea eax, [esp + 0xb0]
call fcn.0048f892
pop ecx
cmp dword [esp + 0x94], ebx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
jle 0x4a0837
xor edi, edi
mov eax, dword [esp + 0x90]
mov eax, dword [edi + eax]
mov esi, dword [eax + 0x10]
lea ecx, [esp + 0xac]
push ecx
call fcn.0048f8b9
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x98]
pop ecx
jl 0x4a080f
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x1e], 0
jne 0x4a0fd3
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4a0d47
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x74], eax
inc eax
push ebx
push edi
mov dword [edi + 0x44], eax
call fcn.0049d638
mov esi, dword [esp + 0x18]
push 0xfffffffffffffff0
push eax
push 0
push dword [esp + 0x90]
mov dword [esp + 0x74], eax
push dword [esp + 0x8c]
push 0x29
push esi
call fcn.004821a0
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x48]
add esp, 0x24
inc eax
mov dword [esp + 0x48], eax
inc eax
mov dword [esp + 0x68], eax
inc eax
mov dword [esp + 0x34], eax
mov dword [edi + 0x48], eax
mov eax, esi
call fcn.00482201
inc dword [edi + 0x48]
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x24], eax
mov eax, esi
call fcn.00482201
push dword [esp + 0x68]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x48]
lea ecx, [eax + 1]
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebx]
add eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 0x48], eax
mov dword [esp + 0x68], ecx
mov ecx, dword [ebx]
xor ebx, ebx
add ecx, eax
push ebx
push 7
mov eax, esi
mov dword [edi + 0x48], ecx
call fcn.00482189
add esp, 0xc
push dword [esp + 0x48]
mov eax, esi
push ebx
push 7
call fcn.00482189
add esp, 0xc
push dword [esp + 0x50]
mov eax, esi
push dword [esp + 0x28]
push 2
call fcn.00482189
add esp, 0xc
push ebx
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x44]
push dword [esp + 0x50]
push edi
call fcn.004a75bf
add esp, 0x14
mov dword [esp + 0xa4], eax
cmp eax, ebx
je 0x4a0fd3
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x4a095d
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x10]
and dword [esp + 0x3c], 0
jmp 0x4a0af0
cmp dword [esp + 0x4c], 0
je 0x4a0972
mov eax, dword [ebp + 0xc]
test byte [eax + 6], 1
mov eax, 0x54cd24
je 0x4a0977
mov eax, 0x54cd30
push eax
call fcn.0049d6fe
mov edi, dword [ebx]
mov edx, dword [esp + 0x88]
lea eax, [edi + 1]
pop ecx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
test edx, edx
jle 0x4a09b7
mov ecx, dword [esp + 0x80]
add ecx, 0xc
cmp dword [ecx], eax
jl 0x4a09b1
inc dword [esp + 0x28]
inc eax
add ecx, 0x18
dec edx
jne 0x4a09a8
mov esi, dword [esp + 0x28]
mov ecx, dword [ebp + 8]
call fcn.0048f92e
mov esi, eax
mov eax, ecx
call fcn.0048e1c6
push 0
push eax
mov ecx, esi
mov eax, ebx
call fcn.0048eee9
lea eax, [esi + edi]
push eax
push dword [esp + 0x80]
mov eax, dword [esp + 0x20]
push 0x35
call fcn.00482189
mov eax, dword [esp + 0x30]
and dword [esp + 0x44], 0
add esp, 0x14
cmp dword [esp + 0x84], 0
mov dword [esp + 0x14], eax
jle 0x4a0a77
add eax, esi
and dword [esp + 0x1c], 0
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x14]
cmp dword [eax + 0xc], ecx
jl 0x4a0a61
push dword [esp + 0x4c]
mov edi, dword [ebp + 8]
push dword [eax + 8]
push dword [eax]
mov eax, dword [eax + 4]
call fcn.0048e15d
add esp, 0xc
cmp dword [esp + 0x4c], eax
je 0x4a0a59
push dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x18]
push 0xf
call fcn.00482189
add esp, 0xc
inc dword [esp + 0x14]
inc dword [esp + 0x4c]
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
add dword [esp + 0x1c], 0x18
cmp eax, dword [esp + 0x84]
jl 0x4a0a13
mov eax, dword [ebp + 8]
call fcn.0048f8df
mov edi, eax
mov eax, dword [esp + 0x10]
push edi
push dword [esp + 0x2c]
push esi
push 0x1e
call fcn.0048210b
mov eax, dword [esp + 0x20]
push edi
push dword [esp + 0x88]
push 0x46
call fcn.00482189
mov eax, dword [ebp + 8]
add esp, 0x1c
mov edx, edi
call fcn.0048f8fa
mov edi, dword [esp + 0x28]
mov ecx, esi
call fcn.0048f952
mov edi, dword [esp + 0xa4]
call fcn.004a7d9e
push dword [esp + 0x40]
mov eax, dword [esp + 0x14]
push dword [esp + 0x78]
push 0x40
call fcn.00482189
mov eax, dword [ebp + 8]
add esp, 0xc
mov byte [esp + 0x71], 1
call fcn.0048e1c6
mov esi, dword [esp + 0x10]
mov eax, esi
call fcn.00482311
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
call fcn.0048e1c6
xor eax, eax
cmp dword [ebx], eax
mov dword [esp + 0x14], eax
jle 0x4a0b61
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x14]
je 0x4a0b36
add ecx, eax
push ecx
push eax
push dword [esp + 0x7c]
mov eax, esi
push 0x1c
call fcn.0048210b
add esp, 0x10
jmp 0x4a0b50
lea edi, [eax + ecx]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x70], 1
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp + 8]
call fcn.0048ed4a
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 0x14
cmp eax, dword [ebx]
jl 0x4a0b11
mov edi, dword [esp + 0x64]
push 0xfffffffffffffffa
push dword [esp + 0x60]
push dword [ebx]
push edi
push dword [esp + 0xb0]
push 0x18
push esi
call fcn.004821a0
add esp, 0x1c
mov eax, esi
call fcn.00482311
mov dword [esp + 0x5c], eax
inc eax
push eax
push 0
push eax
push 0x19
mov eax, esi
call fcn.0048210b
push dword [esp + 0xb0]
mov ebx, dword [ebx]
mov eax, dword [ebp + 8]
call fcn.0048e1e9
add esp, 0x14
push dword [esp + 0x6c]
mov eax, esi
push dword [esp + 0x38]
push 2
call fcn.00482189
add esp, 0xc
push dword [esp + 0x40]
mov eax, esi
push dword [esp + 0x6c]
push 0x71
call fcn.00482189
add esp, 0xc
push dword [esp + 0x50]
mov eax, esi
push dword [esp + 0x28]
push 2
call fcn.00482189
mov eax, dword [esp + 0x68]
add esp, 0xc
mov ecx, esi
call fcn.0048240f
lea eax, [esp + 0x70]
push eax
push dword [ebp + 8]
call fcn.004a0120
push dword [esp + 0x50]
xor ebx, ebx
inc ebx
push ebx
push 7
mov eax, esi
call fcn.00482189
add esp, 0x14
cmp dword [esp + 0x3c], 0
je 0x4a0c32
push dword [esp + 0x28]
mov eax, esi
push dword [esp + 0x78]
push 0x43
call fcn.00482189
add esp, 0xc
jmp 0x4a0c4b
mov edi, dword [esp + 0xa4]
call fcn.004a7d9e
mov ecx, dword [esp + 0x58]
push ebx
mov eax, esi
call fcn.00482551
pop ecx
push dword [esp + 0x6c]
mov eax, esi
push dword [esp + 0x38]
push 2
call fcn.00482189
add esp, 0xc
push dword [esp + 0x40]
mov eax, esi
push 0
push ebx
call fcn.00482189
add esp, 0xc
mov eax, esi
call fcn.00482311
push dword [esp + 0x68]
mov dword [esp + 0x5c], eax
push ebx
push 7
mov eax, esi
call fcn.00482189
add esp, 0xc
push dword [esp + 0x34]
mov eax, esi
push 3
call fcn.00482174
mov edx, dword [esp + 0x74]
mov ecx, esi
call fcn.0048224d
mov eax, esi
call fcn.00482311
mov ebx, eax
lea eax, [ebx + 2]
push eax
push dword [esp + 0x54]
mov eax, esi
push 0x71
call fcn.00482189
add esp, 0x14
push dword [esp + 0x34]
mov eax, esi
push 3
call fcn.00482174
mov eax, dword [ebp + 8]
lea edi, [esp + 0x78]
call fcn.004a00d5
push 8
inc ebx
push ebx
push dword [esp + 0x70]
push dword [ebp + 8]
call fcn.0048f23c
push dword [esp + 0x70]
mov eax, dword [ebp + 0xc]
push ebx
push dword [esp + 0x74]
push dword [esp + 0x44]
push 0
push 0
push dword [eax]
push eax
push dword [ebp + 8]
mov eax, dword [ebp + 0x10]
call fcn.0049d300
add esp, 0x3c
push dword [esp + 0x34]
mov eax, esi
push 3
call fcn.00482174
mov edx, dword [esp + 0x58]
mov ecx, esi
call fcn.0048224d
push dword [ebp + 8]
mov ebx, edi
call fcn.004a0017
add esp, 0xc
push dword [esp + 0x24]
mov eax, esi
push 3
call fcn.00482174
pop ecx
jmp 0x4a0f6d
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x70]
push eax
xor ebx, ebx
mov eax, esi
mov dword [esp + 0x4c], ebx
call fcn.0049f95c
mov edi, eax
pop ecx
cmp edi, ebx
je 0x4a0e4e
mov ebx, dword [ebp + 8]
mov esi, dword [edi + 0x44]
mov ecx, dword [ebx]
call fcn.0049c713
and dword [esp + 0x24], 0
and dword [esp + 0x58], 0
mov esi, eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x50], eax
inc eax
mov dword [ebx + 0x44], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x5c], eax
mov eax, ebx
call fcn.004948a3
push dword [edi]
mov ebx, dword [edi + 0x14]
mov eax, dword [ebp + 8]
push 0
push esi
call fcn.004917b0
mov eax, dword [edi + 0x10]
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
je 0x4a0dee
mov ecx, dword [esp + 0x58]
cmp ecx, ebx
je 0x4a0dc5
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jge 0x4a0dc7
mov ecx, eax
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4a0db9
cmp ecx, ebx
je 0x4a0dee
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 8]
jge 0x4a0dee
mov edi, dword [ecx + 0x14]
push ecx
push dword [ebp + 8]
call fcn.00494bb0
pop ecx
pop ecx
mov dword [esp + 0x24], eax
jmp 0x4a0df2
mov edi, dword [esp + 0x5c]
push esi
mov esi, dword [esp + 0x14]
push edi
push dword [esp + 0x58]
mov eax, esi
push 0x26
call fcn.0048210b
add esp, 0x10
cmp dword [esp + 0x24], ebx
je 0x4a0e20
push 0xfffffffffffffff0
push dword [esp + 0x28]
or eax, 0xffffffff
push esi
call fcn.00482590
add esp, 0xc
mov eax, dword [esp + 0x90]
push dword [eax + 8]
mov eax, esi
push dword [esp + 0x54]
push 0x1f
call fcn.00482189
add esp, 0xc
push dword [esp + 0x50]
mov eax, esi
push 0x2b
call fcn.00482174
pop ecx
pop ecx
jmp 0x4a0f25
mov eax, esi
mov dword [esp + 0x24], ebx
call fcn.0049f8ec
mov byte [esp + 0x1b], al
test al, al
je 0x4a0ea0
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov esi, dword [esp + 0x2c]
push ebx
mov ebx, dword [eax + 0x10]
push esi
call fcn.0048cf86
pop ecx
pop ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], eax
test eax, eax
je 0x4a0ea0
cmp byte [esi + 0x1e], 0
jne 0x4a0ea0
cmp byte [esp + 0x1b], 1
mov edx, dword [eax + 0xc]
setne cl
mov byte [edx + 0xc], cl
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov byte [eax], 0x98
mov esi, dword [ebp + 8]
push esi
lea ebx, [esp + 0x74]
call fcn.004a0017
movzx ax, byte [esp + 0x1f]
pop ecx
movzx eax, ax
push eax
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x44]
push dword [esp + 0x50]
push esi
call fcn.004a75bf
mov edi, eax
xor ebx, ebx
add esp, 0x14
cmp edi, ebx
jne 0x4a0ee8
push dword [esp + 0x2c]
mov edi, dword [esp + 0x4c]
call fcn.0048d414
jmp 0x4a0542
lea eax, [esp + 0x70]
push eax
push esi
call fcn.004a0120
pop ecx
pop ecx
cmp dword [esp + 0x24], ebx
jne 0x4a0f13
cmp byte [esp + 0x1b], bl
je 0x4a0f13
push dword [edi + 0x14]
mov eax, dword [esp + 0x14]
push ebx
push 1
call fcn.00482189
add esp, 0xc
call fcn.004a7d9e
lea edi, [esp + 0x70]
mov eax, esi
call fcn.004a00d5
xor ebx, ebx
push 8
push dword [esp + 0x44]
mov dword [esp + 0x28], ebx
push dword [esp + 0x68]
push dword [ebp + 8]
call fcn.0048f23c
push dword [esp + 0x50]
mov eax, dword [ebp + 0xc]
push dword [esp + 0x54]
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push dword [eax]
push eax
push dword [ebp + 8]
mov eax, dword [ebp + 0x10]
call fcn.0049d300
mov edi, dword [esp + 0x7c]
add esp, 0x34
push dword [esp + 0x2c]
call fcn.0048d414
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
pop ecx
mov ecx, esi
call fcn.0048224d
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
cmp dword [esp + 0x54], 0
jl 0x4a0f93
push 0x54cd24
mov edi, ebx
call fcn.0049d6fe
pop ecx
cmp dword [esp + 0x20], 0
je 0x4a0fbe
push 0x54cd3c
mov edi, ebx
call fcn.0049d6fe
mov eax, dword [esp + 0x3c]
pop ecx
push dword [ebp + 0x10]
push dword [eax]
push dword [esp + 0x18]
push esi
push ebx
call fcn.0049d795
add esp, 0x14
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
call fcn.0048224d
and dword [esp + 0x1c], 0
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x9c]
mov eax, dword [ebp + 8]
mov dword [eax + 0x22c], ecx
jne 0x4a1003
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 5
jne 0x4a1003
push dword [esp + 0x38]
push dword [esp + 0x48]
push eax
call fcn.0049dbb2
add esp, 0xc
push dword [esp + 0x80]
push dword [esp + 0x30]
call fcn.0046fef7
push dword [esp + 0x98]
push dword [esp + 0x38]
call fcn.0046fef7
mov eax, dword [esp + 0x2c]
add esp, 0x10
jmp 0x4a102e
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret