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

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
xor esi, esi
cmp edi, esi
jne 0x48ff02
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 8
test al, al
mov dword [0x59b5a0], edi
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x10], edi
mov byte [ebx + 0x1c], 0
mov byte [ebx + 0xc], al
je 0x48ff2c
xor eax, eax
cmp byte [0x59b52e], al
setne al
add eax, 1
jmp 0x48ff33
mov eax, edi
call fcn.0048f1d0
cmp eax, 2
mov dword [ebx + 4], eax
mov eax, edi
sete byte [esp + 0x13]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x48ff43
sub eax, edx
sar eax, 1
lea ebp, [ebx + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
cmp eax, esi
mov dword [esp + 0x18], 4
je 0x48ff71
push eax
call fcn.00511cfe
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], esi
mov eax, dword [ebp + 4]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp eax, 5
je 0x49000b
test ecx, ecx
je 0x490059
xor ecx, ecx
mov eax, 5
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov esi, eax
add esp, 4
test esi, esi
je 0x490038
mov edx, dword [ebp + 4]
shr edx, 1
cmp edx, 5
jbe 0x48ffca
mov edx, 5
xor eax, eax
test edx, edx
jbe 0x48ffe8
mov ecx, dword [ebp]
mov edi, dword [ecx + eax*8]
mov dword [esi + eax*8], edi
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esi + eax*8 + 4], ecx
add eax, 1
cmp eax, edx
jb 0x48ffd0
mov eax, dword [ebp]
test eax, eax
je 0x48fff8
push eax
call fcn.00511cfe
add esp, 4
mov dword [ebp], esi
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x3c]
and edx, 1
or edx, 0xa
mov dword [ebp + 4], edx
cmp byte [esp + 0x13], 0
lea edx, [ebx + 0x78]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], edx
je 0x490167
mov ax, word [edx]
and ax, 0xffe1
or ax, 1
mov word [edx], ax
jmp 0x49016c
mov eax, dword [ebp]
test eax, eax
je 0x490157
push eax
call fcn.00511cfe
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x49000b
mov edi, 1
mov edi, edi
add edi, edi
cmp edi, 5
jbe 0x490060
lea ecx, [eax*8]
cmp ecx, 0x100000
jae 0x4900ae
cmp eax, 1
mov edx, eax
jbe 0x4900aa
test edx, edx
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
jge 0x49008f
fadd dword [0x567d50]
fstp dword [esp + 0x24]
mov edx, 1
mov ecx, dword [esp + 0x24]
shr ecx, 0x17
sub ecx, 0x7f
shl edx, cl
cmp edx, eax
jae 0x4900aa
add edx, edx
mov eax, edx
jmp 0x4900b8
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, edi
je 0x48fffb
xor esi, esi
test edi, edi
je 0x490118
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov esi, eax
add esp, 4
test esi, esi
je 0x490143
mov eax, dword [ebp + 4]
shr eax, 1
cmp eax, edi
ja 0x4900f2
mov edi, eax
xor eax, eax
test edi, edi
jbe 0x490118
jmp 0x490100
mov ecx, dword [ebp]
mov edx, dword [ecx + eax*8]
mov dword [esi + eax*8], edx
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esi + eax*8 + 4], ecx
add eax, 1
cmp eax, edi
jb 0x490100
mov eax, dword [ebp]
test eax, eax
je 0x490128
push eax
call fcn.00511cfe
add esp, 4
test esi, esi
mov dword [ebp], esi
jne 0x48fffb
mov edi, dword [esp + 0x3c]
and dword [ebp + 4], 1
mov dword [ebp], esi
jmp 0x49000b
mov eax, dword [ebp]
test eax, eax
je 0x490153
push eax
call fcn.00511cfe
add esp, 4
mov edi, dword [esp + 0x3c]
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x49000b
and word [edx], 0xffe0
mov eax, dword [ebp]
mov ecx, dword [0x59b59c]
mov ecx, dword [ecx + 0x34]
lea esi, [ebx + 0x74]
lea ebx, [esp + 0x14]
push ebx
push eax
push edx
mov edx, dword [esp + 0x2c]
push esi
push 4
push edx
push edi
mov dword [esp + 0x48], esi
call ecx
cmp eax, 0x8007000e
jne 0x4903a9
lea esp, [esp]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x18], eax
jg 0x48fef5
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + ecx]
mov dword [esp + 0x18], ebx
add ebx, 1
cmp ebx, 0xfffffff
jbe 0x4901e4
mov eax, dword [ebp]
test eax, eax
je 0x4901d4
push eax
call fcn.00511cfe
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x490371
mov eax, dword [ebp + 4]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp ebx, eax
je 0x490371
test ecx, ecx
je 0x490268
xor esi, esi
test ebx, ebx
je 0x49024e
xor ecx, ecx
mov eax, ebx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov esi, eax
add esp, 4
test esi, esi
je 0x4903f0
mov edx, dword [ebp + 4]
shr edx, 1
cmp edx, ebx
jbe 0x490230
mov edx, ebx
xor eax, eax
test edx, edx
jbe 0x49024e
mov ecx, dword [ebp]
mov edi, dword [ecx + eax*8]
mov dword [esi + eax*8], edi
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esi + eax*8 + 4], ecx
add eax, 1
cmp eax, edx
jb 0x490236
mov eax, dword [ebp]
test eax, eax
je 0x49025e
push eax
call fcn.00511cfe
add esp, 4
mov dword [ebp], esi
test esi, esi
jmp 0x49035d
lea ecx, [ebx*8]
cmp ecx, 0x100000
jae 0x490288
mov esi, 1
cmp ebx, esi
jb 0x490296
add esi, esi
cmp esi, ebx
jbe 0x490280
jmp 0x490296
mov esi, ebx
and esi, 0xfffffc00
add esi, 0x400
lea edx, [eax*8]
cmp edx, 0x100000
jae 0x4902e3
cmp eax, 1
jbe 0x4902dd
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4902be
fadd dword [0x567d50]
fstp dword [esp + 0x28]
mov edx, 1
mov ecx, dword [esp + 0x28]
shr ecx, 0x17
sub ecx, 0x7f
shl edx, cl
cmp edx, eax
jae 0x4902df
add edx, edx
mov eax, edx
jmp 0x4902ed
mov edx, eax
mov eax, edx
jmp 0x4902ed
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, esi
je 0x490363
xor edi, edi
test esi, esi
je 0x490348
xor ecx, ecx
mov eax, esi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov edi, eax
add esp, 4
test edi, edi
je 0x4903f0
mov eax, dword [ebp + 4]
shr eax, 1
cmp eax, esi
ja 0x490327
mov esi, eax
xor eax, eax
test esi, esi
jbe 0x490348
lea ecx, [ecx]
mov ecx, dword [ebp]
mov edx, dword [ecx + eax*8]
mov dword [edi + eax*8], edx
mov ecx, dword [ecx + eax*8 + 4]
mov dword [edi + eax*8 + 4], ecx
add eax, 1
cmp eax, esi
jb 0x490330
mov eax, dword [ebp]
test eax, eax
je 0x490358
push eax
call fcn.00511cfe
add esp, 4
mov dword [ebp], edi
test edi, edi
je 0x490400
mov edx, dword [ebp + 4]
lea eax, [ebx + ebx]
and edx, 1
or edx, eax
mov dword [ebp + 4], edx
mov eax, dword [ebp]
mov ecx, dword [0x59b59c]
mov ecx, dword [ecx + 0x34]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x50]
push edx
push eax
call ecx
cmp eax, 0x8007000e
je 0x4901a0
test eax, eax
jne 0x48fef5
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x48fef5
lea edi, [ebx + 1]
cmp edi, 0xfffffff
mov dword [esp + 0x28], edi
jbe 0x490410
mov eax, dword [ebp]
test eax, eax
je 0x4903e0
push eax
call fcn.00511cfe
add esp, 4
mov ebx, dword [esp + 0x14]
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x4905dd
mov eax, dword [ebp]
test eax, eax
je 0x490400
push eax
call fcn.00511cfe
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x490371
mov eax, dword [ebp + 4]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp edi, eax
je 0x4905dd
test ecx, ecx
je 0x4904c0
xor esi, esi
test edi, edi
je 0x49047e
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov esi, eax
add esp, 4
test esi, esi
je 0x4904b0
mov edx, dword [ebp + 4]
shr edx, 1
cmp edx, edi
jbe 0x49045c
mov edx, edi
xor eax, eax
test edx, edx
jbe 0x49047a
mov ecx, dword [ebp]
mov ebx, dword [ecx + eax*8]
mov dword [esi + eax*8], ebx
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esi + eax*8 + 4], ecx
add eax, 1
cmp eax, edx
jb 0x490462
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp]
test eax, eax
je 0x490492
push eax
call fcn.00511cfe
mov ebx, dword [esp + 0x18]
add esp, 4
test esi, esi
mov dword [ebp], esi
je 0x4903e0
mov eax, dword [ebp + 4]
lea edx, [edi + edi]
and eax, 1
or edx, eax
mov dword [ebp + 4], edx
jmp 0x4905dd
mov eax, dword [ebp]
test eax, eax
je 0x4903dc
jmp 0x4903d3
lea ecx, [edi*8]
cmp ecx, 0x100000
jae 0x4904e0
mov esi, 1
cmp edi, esi
jb 0x4904ee
add esi, esi
cmp esi, edi
jbe 0x4904d8
jmp 0x4904ee
mov esi, edi
and esi, 0xfffffc00
add esi, 0x400
lea edx, [eax*8]
cmp edx, 0x100000
jae 0x49053b
cmp eax, 1
jbe 0x490535
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x490516
fadd dword [0x567d50]
fstp dword [esp + 0x2c]
mov edx, 1
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
sub ecx, 0x7f
shl edx, cl
cmp edx, eax
jae 0x490537
add edx, edx
mov eax, edx
jmp 0x490545
mov edx, eax
mov eax, edx
jmp 0x490545
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, esi
je 0x4905cb
xor edi, edi
test esi, esi
je 0x4905ac
xor ecx, ecx
mov eax, esi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov edi, eax
add esp, 4
test edi, edi
je 0x4904b0
mov eax, dword [ebp + 4]
shr eax, 1
cmp eax, esi
ja 0x490583
mov esi, eax
xor eax, eax
test esi, esi
jbe 0x4905a8
lea esp, [esp]
mov ecx, dword [ebp]
mov edx, dword [ecx + eax*8]
mov dword [edi + eax*8], edx
mov ecx, dword [ecx + eax*8 + 4]
mov dword [edi + eax*8 + 4], ecx
add eax, 1
cmp eax, esi
jb 0x490590
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp]
test eax, eax
je 0x4905c0
push eax
call fcn.00511cfe
mov ebx, dword [esp + 0x18]
add esp, 4
test edi, edi
mov dword [ebp], edi
je 0x4903e0
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x28]
lea eax, [edx + edx]
and ecx, 1
or eax, ecx
mov dword [ebp + 4], eax
cmp byte [esp + 0x13], 0
je 0x490674
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
push edx
push eax
mov edi, ebp
call fcn.0048fe90
add esp, 8
test eax, eax
je 0x490674
cmp eax, 0xffffffff
je 0x490674
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 0x30]
shr ecx, 1
lea edx, [eax + 1]
cmp edx, ecx
jae 0x490678
mov ecx, dword [ebp]
movzx edx, byte [ecx + eax*8 + 6]
lea eax, [ecx + eax*8]
movzx ecx, byte [eax + 0xe]
and edx, 0x1f
mov esi, edx
movzx edx, byte [eax - 2]
and ecx, 0x1f
and edx, 0x1f
cmp cx, dx
jne 0x490647
movzx edx, byte [eax + 6]
xor dl, cl
and edx, 0x1f
xor word [eax + 6], dx
jmp 0x490670
test si, si
je 0x490674
movzx ecx, si
and ecx, 0x80000001
jns 0x49065c
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x490674
movzx ecx, word [eax + 6]
lea edx, [ecx - 1]
xor dl, cl
and edx, 0x1f
xor edx, ecx
mov word [eax + 6], dx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
xor ecx, ecx
cmp ebx, 0x7fffffff
mov dword [esp + 0x18], ecx
ja 0x4906d1
test ebx, ebx
je 0x4906d7
cmp ebx, 0x100000
jae 0x4906a8
lea eax, [ecx + 1]
cmp ebx, eax
jb 0x4906b8
lea esp, [esp]
add eax, eax
cmp eax, ebx
jbe 0x4906a0
jmp 0x4906b4
mov eax, ebx
and eax, 0xfffffc00
add eax, 0x400
test eax, eax
je 0x4906d7
push eax
push 0
call fcn.0044d0b0
mov ebx, dword [esp + 0x1c]
mov ecx, eax
add esp, 8
test ecx, ecx
mov dword [esp + 0x18], ecx
jne 0x4906d7
xor ecx, ecx
mov dword [esp + 0x18], ecx
xor eax, eax
test ebx, ebx
jle 0x4906f8
lea ecx, [ecx]
mov edx, dword [ebp]
mov dl, byte [edx + eax*8 + 6]
and dl, 0x1f
mov byte [ecx + eax], dl
mov ebx, dword [esp + 0x14]
add eax, 1
cmp eax, ebx
jl 0x4906e0
cmp ebx, 0x1fffffff
mov dword [esp + 0x24], ebx
jbe 0x490728
mov eax, dword [esi + 0x34]
test eax, eax
je 0x490718
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x38], 1
mov dword [esi + 0x34], 0
jmp 0x49089c
mov eax, dword [esi + 0x38]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp ebx, eax
je 0x49089c
xor edi, edi
cmp ecx, edi
je 0x4907ad
cmp ebx, edi
je 0x49076f
mov ecx, dword [esi + 0x34]
lea eax, [ebx*4]
push eax
push ecx
call fcn.0044d0b0
add esp, 8
cmp eax, edi
mov dword [esi + 0x34], eax
jne 0x490792
mov ebx, dword [esp + 0x14]
and dword [esi + 0x38], 1
mov dword [esi + 0x34], edi
jmp 0x49089c
mov eax, dword [esi + 0x34]
cmp eax, edi
je 0x490763
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x38], 1
mov dword [esi + 0x34], edi
mov dword [esi + 0x34], edi
jmp 0x49089c
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea eax, [edx + edx]
and ecx, 1
or eax, ecx
mov dword [esi + 0x38], eax
jmp 0x49089c
lea edx, [ebx*4]
cmp edx, 0x100000
jae 0x4907cd
mov edx, 1
cmp ebx, edx
jb 0x4907db
add edx, edx
cmp edx, ebx
jbe 0x4907c5
jmp 0x4907db
mov edx, ebx
and edx, 0xfffffc00
add edx, 0x400
lea ecx, [eax*4]
cmp ecx, 0x100000
jae 0x490828
cmp eax, 1
jbe 0x490822
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x490803
fadd dword [0x567d50]
fstp dword [esp + 0x2c]
mov esi, 1
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
sub ecx, 0x7f
shl esi, cl
cmp esi, eax
jae 0x490824
add esi, esi
mov eax, esi
jmp 0x490832
mov esi, eax
mov eax, esi
jmp 0x490832
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, edx
mov esi, dword [esp + 0x38]
je 0x490886
mov eax, dword [esi + 0x34]
xor edi, edi
cmp edx, edi
je 0x490865
add edx, edx
add edx, edx
push edx
push eax
call fcn.0044d0b0
add esp, 8
cmp eax, edi
mov dword [esi + 0x34], eax
jne 0x490882
mov ebx, dword [esp + 0x14]
and dword [esi + 0x38], 1
mov dword [esi + 0x34], edi
jmp 0x490898
cmp eax, edi
je 0x49085c
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x38], 1
mov dword [esi + 0x34], edi
mov dword [esi + 0x34], edi
jmp 0x490898
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x24]
lea edx, [ecx + ecx]
and eax, 1
or edx, eax
mov dword [esi + 0x38], edx
mov esi, dword [esp + 0x38]
cmp ebx, 0x1fffffff
mov edi, ebx
mov dword [esp + 0x28], edi
jbe 0x4908ce
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4908be
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x40], 1
mov dword [esi + 0x3c], 0
jmp 0x490a48
mov eax, dword [esi + 0x40]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp ebx, eax
je 0x490a48
test ecx, ecx
je 0x490959
test ebx, ebx
je 0x490917
mov edx, dword [esi + 0x3c]
lea ecx, [ebx*4]
push ecx
push edx
call fcn.0044d0b0
add esp, 8
test eax, eax
mov dword [esi + 0x3c], eax
jne 0x490942
mov ebx, dword [esp + 0x14]
and dword [esi + 0x40], 1
mov dword [esi + 0x3c], 0
jmp 0x490a48
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x490907
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x40], 1
mov dword [esi + 0x3c], 0
mov dword [esi + 0x3c], 0
jmp 0x490a48
mov ecx, dword [esi + 0x40]
mov ebx, dword [esp + 0x14]
lea eax, [edi + edi]
and ecx, 1
or eax, ecx
mov dword [esi + 0x40], eax
jmp 0x490a48
lea edx, [ebx*4]
cmp edx, 0x100000
jae 0x490979
mov edx, 1
cmp ebx, edx
jb 0x490987
add edx, edx
cmp edx, ebx
jbe 0x490971
jmp 0x490987
mov edx, ebx
and edx, 0xfffffc00
add edx, 0x400
lea ecx, [eax*4]
cmp ecx, 0x100000
jae 0x4909d4
cmp eax, 1
jbe 0x4909ce
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4909af
fadd dword [0x567d50]
fstp dword [esp + 0x2c]
mov esi, 1
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
sub ecx, 0x7f
shl esi, cl
cmp esi, eax
jae 0x4909d0
add esi, esi
mov eax, esi
jmp 0x4909de
mov esi, eax
mov eax, esi
jmp 0x4909de
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, edx
mov esi, dword [esp + 0x38]
je 0x490a36
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp edx, edi
je 0x490a11
add edx, edx
add edx, edx
push edx
push eax
call fcn.0044d0b0
add esp, 8
cmp eax, edi
mov dword [esi + 0x3c], eax
jne 0x490a2e
mov ebx, dword [esp + 0x14]
and dword [esi + 0x40], 1
mov dword [esi + 0x3c], edi
jmp 0x490a44
cmp eax, edi
je 0x490a08
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x40], 1
mov dword [esi + 0x3c], edi
mov dword [esi + 0x3c], edi
jmp 0x490a44
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov edx, dword [esi + 0x40]
lea ecx, [edi + edi]
and edx, 1
or ecx, edx
mov dword [esi + 0x40], ecx
mov esi, dword [esp + 0x38]
cmp ebx, 0x1fffffff
mov edi, ebx
mov dword [esp + 0x28], edi
jbe 0x490a7a
mov eax, dword [esi + 0x44]
test eax, eax
je 0x490a6a
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x48], 1
mov dword [esi + 0x44], 0
jmp 0x490bf7
mov eax, dword [esi + 0x48]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp ebx, eax
je 0x490bf7
test ecx, ecx
je 0x490b05
test ebx, ebx
je 0x490ac3
mov ecx, dword [esi + 0x44]
lea eax, [ebx*4]
push eax
push ecx
call fcn.0044d0b0
add esp, 8
test eax, eax
mov dword [esi + 0x44], eax
jne 0x490aee
mov ebx, dword [esp + 0x14]
and dword [esi + 0x48], 1
mov dword [esi + 0x44], 0
jmp 0x490bf7
mov eax, dword [esi + 0x44]
test eax, eax
je 0x490ab3
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x48], 1
mov dword [esi + 0x44], 0
mov dword [esi + 0x44], 0
jmp 0x490bf7
mov edx, dword [esi + 0x48]
mov ebx, dword [esp + 0x14]
and edx, 1
lea eax, [edi + edi]
or edx, eax
mov dword [esi + 0x48], edx
jmp 0x490bf7
lea ecx, [ebx*4]
cmp ecx, 0x100000
jae 0x490b28
mov edx, 1
cmp ebx, edx
jb 0x490b36
lea ecx, [ecx]
add edx, edx
cmp edx, ebx
jbe 0x490b20
jmp 0x490b36
mov edx, ebx
and edx, 0xfffffc00
add edx, 0x400
lea ecx, [eax*4]
cmp ecx, 0x100000
jae 0x490b83
cmp eax, 1
jbe 0x490b7d
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x490b5e
fadd dword [0x567d50]
fstp dword [esp + 0x2c]
mov esi, 1
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
sub ecx, 0x7f
shl esi, cl
cmp esi, eax
jae 0x490b7f
add esi, esi
mov eax, esi
jmp 0x490b8d
mov esi, eax
mov eax, esi
jmp 0x490b8d
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, edx
mov esi, dword [esp + 0x38]
je 0x490be5
mov eax, dword [esi + 0x44]
xor edi, edi
cmp edx, edi
je 0x490bc0
add edx, edx
add edx, edx
push edx
push eax
call fcn.0044d0b0
add esp, 8
cmp eax, edi
mov dword [esi + 0x44], eax
jne 0x490bdd
mov ebx, dword [esp + 0x14]
and dword [esi + 0x48], 1
mov dword [esi + 0x44], edi
jmp 0x490bf3
cmp eax, edi
je 0x490bb7
push eax
call fcn.0044d390
mov ebx, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x48], 1
mov dword [esi + 0x44], edi
mov dword [esi + 0x44], edi
jmp 0x490bf3
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov ecx, dword [esi + 0x48]
and ecx, 1
lea edx, [edi + edi]
or ecx, edx
mov dword [esi + 0x48], ecx
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x34]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [0x59b59c]
push ecx
mov ecx, dword [eax + 0x3c]
push edx
push ebx
call ecx
mov edi, dword [esp + 0x14]
cmp edi, 0x1fffffff
mov dword [esp + 0x20], edi
jbe 0x490c43
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x490c33
push eax
call fcn.00511cfe
mov edi, dword [esp + 0x18]
add esp, 4
and dword [esi + 0x50], 1
mov dword [esi + 0x4c], 0
jmp 0x490e40
mov eax, dword [esi + 0x50]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp edi, eax
je 0x490e40
test ecx, ecx
je 0x490d09
xor esi, esi
test edi, edi
je 0x490cb6
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov ebx, dword [esp + 0x3c]
mov esi, eax
add esp, 4
test esi, esi
je 0x490ce5
mov eax, dword [ebx + 0x50]
shr eax, 1
mov ecx, edi
cmp eax, ecx
ja 0x490c95
mov ecx, eax
xor eax, eax
test ecx, ecx
jbe 0x490cb0
jmp 0x490ca0
mov edx, dword [ebx + 0x4c]
mov edx, dword [edx + eax*4]
mov dword [esi + eax*4], edx
add eax, 1
cmp eax, ecx
jb 0x490ca0
mov edi, dword [esp + 0x14]
jmp 0x490cba
mov ebx, dword [esp + 0x38]
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x490cce
push eax
call fcn.00511cfe
mov edi, dword [esp + 0x18]
add esp, 4
test esi, esi
mov dword [ebx + 0x4c], esi
jne 0x490e2a
and dword [ebx + 0x50], 1
mov dword [ebx + 0x4c], esi
jmp 0x490e3c
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x490cf5
push eax
call fcn.00511cfe
add esp, 4
mov edi, dword [esp + 0x14]
and dword [ebx + 0x50], 1
mov dword [ebx + 0x4c], 0
jmp 0x490e3c
lea ecx, [edi*4]
cmp ecx, 0x100000
jae 0x490d29
mov esi, 1
cmp edi, esi
jb 0x490d37
add esi, esi
cmp esi, edi
jbe 0x490d21
jmp 0x490d37
mov esi, edi
and esi, 0xfffffc00
add esi, 0x400
lea edx, [eax*4]
cmp edx, 0x100000
jae 0x490d84
cmp eax, 1
jbe 0x490d7e
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x490d5f
fadd dword [0x567d50]
fstp dword [esp + 0x2c]
mov edx, 1
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
sub ecx, 0x7f
shl edx, cl
cmp edx, eax
jae 0x490d80
add edx, edx
mov eax, edx
jmp 0x490d8e
mov edx, eax
mov eax, edx
jmp 0x490d8e
and eax, 0x7ffffc00
add eax, 0x400
cmp eax, esi
je 0x490e26
xor edi, edi
test esi, esi
je 0x490de4
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511d1c
mov ebx, dword [esp + 0x3c]
mov edi, eax
add esp, 4
test edi, edi
je 0x490e05
mov eax, dword [ebx + 0x50]
shr eax, 1
cmp eax, esi
ja 0x490dcc
mov esi, eax
xor eax, eax
test esi, esi
jbe 0x490de8
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ecx + eax*4]
mov dword [edi + eax*4], edx
add eax, 1
cmp eax, esi
jb 0x490dd2
jmp 0x490de8
mov ebx, dword [esp + 0x38]
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x490df8
push eax
call fcn.00511cfe
add esp, 4
test edi, edi
mov dword [ebx + 0x4c], edi
je 0x490e15
mov edi, dword [esp + 0x14]
jmp 0x490e2a
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x490e15
push eax
call fcn.00511cfe
add esp, 4
and dword [ebx + 0x50], 1
mov edi, dword [esp + 0x14]
mov dword [ebx + 0x4c], 0
jmp 0x490e3c
mov ebx, dword [esp + 0x38]
mov edx, dword [ebx + 0x50]
mov eax, dword [esp + 0x20]
and edx, 1
lea ecx, [eax + eax]
or ecx, edx
mov dword [ebx + 0x50], ecx
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x490e60
mov ecx, dword [esi + 0x50]
shr ecx, 1
add ecx, ecx
add ecx, ecx
push ecx
push 0
push eax
call fcn.005185b0
mov edi, dword [esp + 0x20]
add esp, 0xc
xor ebx, ebx
test edi, edi
jle 0x490ed6
jmp 0x490e70
mov edx, dword [ebp]
mov eax, dword [esp + 0x3c]
lea esi, [ebx*8]
lea ecx, [edx + esi]
mov edx, dword [ecx]
mov ecx, dword [ecx + 8]
lea eax, [eax + edx*2]
sub ecx, edx
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x44]
mov dword [esp + 0x2c], eax
lea eax, [ebx*4]
mov dword [eax + edi], ecx
mov ecx, dword [ebp]
mov edi, dword [edx + 0x44]
add ecx, esi
mov esi, dword [edx + 0x4c]
add esi, eax
add edi, eax
movzx eax, word [ecx + 4]
mov edi, dword [edi]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x2c]
and eax, 0xffff03ff
call fcn.0048f0e0
mov edx, dword [esp + 0x28]
add ebx, 1
mov dword [edx], eax
cmp ebx, dword [esp + 0x14]
jl 0x490e70
mov eax, dword [esp + 0x18]
test eax, eax
je 0x490ee7
push eax
call fcn.0044d390
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret 8