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

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
mov esi, dword [esp + 0x38]
push edi
xor edi, edi
cmp esi, edi
jne 0x4c4922
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 8
test al, al
mov dword [0x6fa128], esi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x10], esi
mov byte [ebx + 0x1c], 0
mov byte [ebx + 0xc], al
je 0x4c494c
xor eax, eax
cmp byte [0x6fa0c6], al
setne al
add eax, 1
jmp 0x4c4953
mov eax, esi
call fcn.004c3f60
cmp eax, 2
mov dword [ebx + 4], eax
mov eax, esi
sete byte [esp + 0x13]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4c4963
sub eax, edx
sar eax, 1
lea ebp, [ebx + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
cmp eax, edi
mov dword [esp + 0x18], 4
je 0x4c4998
push eax
call fcn.00607c35
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], edi
mov eax, dword [ebp + 4]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp eax, 5
je 0x4c4a27
cmp ecx, edi
je 0x4c4a54
xor ecx, ecx
mov eax, 5
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov esi, eax
add esp, 4
test esi, esi
je 0x4c4a1b
mov edx, dword [ebp + 4]
shr edx, 1
cmp edx, 5
jbe 0x4c49e6
mov edx, 5
xor eax, eax
test edx, edx
jbe 0x4c4a08
lea esp, [esp]
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 0x4c49f0
mov eax, dword [ebp]
test eax, eax
je 0x4c4a18
push eax
call fcn.00607c35
add esp, 4
mov dword [ebp], esi
mov edx, dword [ebp + 4]
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 0x4c4b3e
mov ax, word [edx]
and ax, 0xffe1
or ax, 1
mov word [edx], ax
jmp 0x4c4b43
mov edi, 1
lea esp, [esp]
add edi, edi
cmp edi, 5
jbe 0x4c4a60
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
jge 0x4c4a7b
fadd dword [0x6c0a38]
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c4a9a
mov edx, 1
shl edx, cl
jmp 0x4c4a9c
xor edx, edx
cmp edx, eax
jae 0x4c4aa2
add edx, edx
cmp edx, edi
je 0x4c4a1b
xor esi, esi
test edi, edi
je 0x4c4afa
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov esi, eax
add esp, 4
test esi, esi
je 0x4c4b1a
mov eax, dword [ebp + 4]
shr eax, 1
cmp eax, edi
ja 0x4c4adc
mov edi, eax
xor eax, eax
test edi, edi
jbe 0x4c4afa
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 0x4c4ae2
mov eax, dword [ebp]
test eax, eax
je 0x4c4b0a
push eax
call fcn.00607c35
add esp, 4
test esi, esi
mov dword [ebp], esi
jne 0x4c4a1b
jmp 0x4c4a27
mov eax, dword [ebp]
test eax, eax
je 0x4c4a27
push eax
call fcn.00607c35
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x4c4a27
and word [edx], 0xffe0
mov eax, dword [ebp]
mov ecx, dword [0x6fa124]
mov ecx, dword [ecx + 0x34]
lea edi, [esp + 0x14]
push edi
push eax
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x2c]
lea esi, [ebx + 0x74]
push esi
push 4
push edx
push eax
mov dword [esp + 0x48], esi
call ecx
cmp eax, 0x8007000e
jne 0x4c4d56
jmp 0x4c4b80
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x18], ecx
jg 0x4c4915
mov edx, dword [esp + 0x18]
lea ebx, [edx + edx]
mov dword [esp + 0x18], ebx
add ebx, 1
cmp ebx, 0xfffffff
jbe 0x4c4bc8
mov eax, dword [ebp]
test eax, eax
je 0x4c4d1e
push eax
call fcn.00607c35
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], 0
jmp 0x4c4d1e
mov eax, dword [ebp + 4]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp ebx, eax
je 0x4c4d1e
test ecx, ecx
je 0x4c4c50
xor edi, edi
test ebx, ebx
je 0x4c4c38
xor ecx, ecx
mov eax, ebx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov edi, eax
add esp, 4
test edi, edi
je 0x4c4d10
mov edx, dword [ebp + 4]
shr edx, 1
cmp edx, ebx
jbe 0x4c4c14
mov edx, ebx
xor eax, eax
test edx, edx
jbe 0x4c4c38
lea ebx, [ebx]
mov ecx, dword [ebp]
mov esi, dword [ecx + eax*8]
mov dword [edi + eax*8], esi
mov ecx, dword [ecx + eax*8 + 4]
mov dword [edi + eax*8 + 4], ecx
add eax, 1
cmp eax, edx
jb 0x4c4c20
mov eax, dword [ebp]
test eax, eax
je 0x4c4c48
push eax
call fcn.00607c35
add esp, 4
mov dword [ebp], edi
jmp 0x4c4d10
mov esi, 1
cmp ebx, esi
jb 0x4c4c66
lea esp, [esp]
add esi, esi
cmp esi, ebx
jbe 0x4c4c60
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4c4c7a
fadd dword [0x6c0a38]
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c4c99
mov edx, 1
shl edx, cl
jmp 0x4c4c9b
xor edx, edx
cmp edx, eax
jae 0x4c4ca1
add edx, edx
cmp edx, esi
je 0x4c4d10
xor edi, edi
test esi, esi
je 0x4c4cf9
xor ecx, ecx
mov eax, esi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov edi, eax
add esp, 4
test edi, edi
je 0x4c4ba4
mov eax, dword [ebp + 4]
shr eax, 1
cmp eax, esi
ja 0x4c4cdb
mov esi, eax
xor eax, eax
test esi, esi
jbe 0x4c4cf9
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 0x4c4ce1
mov eax, dword [ebp]
test eax, eax
je 0x4c4d09
push eax
call fcn.00607c35
add esp, 4
test edi, edi
mov dword [ebp], edi
je 0x4c4d1e
mov eax, dword [ebp + 4]
and eax, 1
lea edx, [ebx + ebx]
or edx, eax
mov dword [ebp + 4], edx
mov eax, dword [ebp]
mov ecx, dword [0x6fa124]
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 0x4c4b80
test eax, eax
jne 0x4c4915
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4c4915
lea edx, [esi + 1]
cmp edx, 0xfffffff
mov dword [esp + 0x18], edx
jbe 0x4c4e18
mov eax, dword [ebp]
test eax, eax
je 0x4c4d9c
push eax
call fcn.00607c35
add esp, 4
and dword [ebp + 4], 1
mov dword [ebp], 0
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x13], 0
je 0x4c4fe4
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x20]
push edx
mov edi, ebp
call fcn.004c48b0
add esp, 4
test eax, eax
je 0x4c4fe4
cmp eax, 0xffffffff
je 0x4c4fe4
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x30]
shr edx, 1
lea ecx, [eax + 1]
cmp ecx, edx
jae 0x4c4fe4
mov edx, dword [ebp]
movzx ecx, byte [edx + eax*8 + 6]
lea eax, [edx + eax*8]
movzx edx, byte [eax - 2]
and ecx, 0x1f
mov edi, ecx
movzx ecx, byte [eax + 0xe]
and ecx, 0x1f
and edx, 0x1f
cmp cx, dx
jne 0x4c4fb7
movzx edx, byte [eax + 6]
xor dl, cl
and edx, 0x1f
xor word [eax + 6], dx
jmp 0x4c4fe0
mov eax, dword [ebp + 4]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp edx, eax
je 0x4c4d9c
test ecx, ecx
je 0x4c4ecd
mov ebx, edx
xor edi, edi
test ebx, ebx
je 0x4c4e8c
xor ecx, ecx
mov eax, ebx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov edi, eax
add esp, 4
test edi, edi
je 0x4c4eb6
mov edx, dword [ebp + 4]
shr edx, 1
cmp edx, ebx
jbe 0x4c4e66
mov edx, ebx
xor eax, eax
test edx, edx
jbe 0x4c4e88
lea esp, [esp]
mov ecx, dword [ebp]
mov esi, dword [ecx + eax*8]
mov dword [edi + eax*8], esi
mov ecx, dword [ecx + eax*8 + 4]
mov dword [edi + eax*8 + 4], ecx
add eax, 1
cmp eax, edx
jb 0x4c4e70
mov esi, dword [esp + 0x14]
mov eax, dword [ebp]
test eax, eax
je 0x4c4ea0
push eax
call fcn.00607c35
mov esi, dword [esp + 0x18]
add esp, 4
mov edx, dword [ebp + 4]
and edx, 1
lea eax, [ebx + ebx]
or edx, eax
mov dword [ebp], edi
mov dword [ebp + 4], edx
jmp 0x4c4d9c
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x14]
and edx, 1
lea eax, [ebx + ebx]
or edx, eax
mov dword [ebp + 4], edx
jmp 0x4c4d9c
mov ebx, 1
mov ecx, edx
cmp ecx, ebx
jb 0x4c4ede
add ebx, ebx
cmp ebx, ecx
jbe 0x4c4ed8
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4c4ef2
fadd dword [0x6c0a38]
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c4f11
mov edx, 1
shl edx, cl
jmp 0x4c4f13
xor edx, edx
cmp edx, eax
jae 0x4c4f19
add edx, edx
cmp edx, ebx
je 0x4c4f90
xor edi, edi
test ebx, ebx
je 0x4c4f71
xor ecx, ecx
mov eax, ebx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov edi, eax
add esp, 4
test edi, edi
je 0x4c4fa7
mov eax, dword [ebp + 4]
shr eax, 1
cmp eax, ebx
ja 0x4c4f4f
mov ebx, eax
xor eax, eax
test ebx, ebx
jbe 0x4c4f6d
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, ebx
jb 0x4c4f55
mov esi, dword [esp + 0x14]
mov eax, dword [ebp]
test eax, eax
je 0x4c4f85
push eax
call fcn.00607c35
mov esi, dword [esp + 0x18]
add esp, 4
test edi, edi
mov dword [ebp], edi
je 0x4c4d9c
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
and edx, 1
lea ecx, [eax + eax]
or edx, ecx
mov dword [ebp + 4], edx
jmp 0x4c4d9c
mov eax, dword [ebp]
test eax, eax
je 0x4c4d98
jmp 0x4c4d84
test di, di
je 0x4c4fe4
movzx ecx, di
and ecx, 0x80000001
jns 0x4c4fcc
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x4c4fe4
movzx ecx, word [eax + 6]
lea edx, [ecx - 1]
xor dl, cl
and edx, 0x1f
xor edx, ecx
mov word [eax + 6], dx
mov esi, dword [esp + 0x14]
xor edi, edi
cmp esi, 0x7fffffff
mov dword [esp + 0x18], edi
ja 0x4c5042
test esi, esi
je 0x4c5042
lea eax, [edi + 1]
cmp esi, eax
jb 0x4c5006
lea ecx, [ecx]
add eax, eax
cmp eax, esi
jbe 0x4c5000
fldz
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c5027
mov edx, 1
shl edx, cl
jmp 0x4c5029
xor edx, edx
cmp edx, eax
je 0x4c5042
push eax
push 0
call fcn.0045d790
mov esi, dword [esp + 0x1c]
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
xor eax, eax
test esi, esi
jle 0x4c5068
jmp 0x4c5050
mov ecx, dword [ebp]
mov dl, byte [ecx + eax*8 + 6]
and dl, 0x1f
mov byte [edi + eax], dl
mov esi, dword [esp + 0x14]
add eax, 1
cmp eax, esi
jl 0x4c5050
cmp esi, 0x1fffffff
mov edi, dword [esp + 0x38]
mov dword [esp + 0x24], esi
jbe 0x4c514a
mov eax, dword [edi + 0x34]
test eax, eax
je 0x4c509b
push eax
call fcn.0045da90
add esp, 4
and dword [edi + 0x38], 1
mov dword [edi + 0x34], 0
mov esi, dword [esp + 0x14]
cmp esi, 0x1fffffff
mov dword [esp + 0x24], esi
jbe 0x4c5216
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x4c50ca
push eax
call fcn.0045da90
add esp, 4
and dword [edi + 0x40], 1
mov dword [edi + 0x3c], 0
mov esi, dword [esp + 0x14]
cmp esi, 0x1fffffff
mov dword [esp + 0x24], esi
jbe 0x4c52e2
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4c50f9
push eax
call fcn.0045da90
add esp, 4
and dword [edi + 0x48], 1
mov dword [edi + 0x44], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 0x3c]
mov edx, dword [edi + 0x34]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [0x6fa124]
push edx
mov edx, dword [ecx + 0x3c]
push eax
push esi
call edx
mov edx, dword [esp + 0x14]
cmp edx, 0x1fffffff
mov dword [esp + 0x20], edx
jbe 0x4c53af
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4c54f0
push eax
call fcn.00607c35
add esp, 4
and dword [edi + 0x50], 1
mov dword [edi + 0x4c], 0
jmp 0x4c54f0
mov eax, dword [edi + 0x38]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp esi, eax
je 0x4c509b
test ecx, ecx
je 0x4c518e
mov ecx, dword [edi + 0x34]
lea eax, [esi*4]
push eax
push ecx
call fcn.0045d790
mov ecx, dword [edi + 0x38]
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x34], eax
lea eax, [edx + edx]
and ecx, 1
add esp, 8
or eax, ecx
mov dword [edi + 0x38], eax
jmp 0x4c5097
mov ebx, 1
cmp esi, ebx
jb 0x4c519d
add ebx, ebx
cmp ebx, esi
jbe 0x4c5197
mov edx, eax
test edx, edx
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
jge 0x4c51b1
fadd dword [0x6c0a38]
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c51d0
mov edx, 1
shl edx, cl
jmp 0x4c51d2
xor edx, edx
cmp edx, eax
jae 0x4c51d8
add edx, edx
cmp edx, ebx
je 0x4c51ff
mov ecx, dword [edi + 0x34]
lea eax, [ebx*4]
push eax
push ecx
call fcn.0045d790
add esp, 8
test eax, eax
mov dword [edi + 0x34], eax
je 0x4c5097
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 0x38]
mov edx, dword [esp + 0x24]
lea eax, [edx + edx]
and ecx, 1
or eax, ecx
mov dword [edi + 0x38], eax
jmp 0x4c509b
mov eax, dword [edi + 0x40]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp esi, eax
je 0x4c50ca
test ecx, ecx
je 0x4c525a
mov eax, dword [edi + 0x3c]
lea edx, [esi*4]
push edx
push eax
call fcn.0045d790
mov ecx, dword [edi + 0x40]
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x3c], eax
and ecx, 1
lea eax, [edx + edx]
add esp, 8
or ecx, eax
mov dword [edi + 0x40], ecx
jmp 0x4c50c6
mov ebx, 1
cmp esi, ebx
jb 0x4c5269
add ebx, ebx
cmp ebx, esi
jbe 0x4c5263
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4c527d
fadd dword [0x6c0a38]
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c529c
mov edx, 1
shl edx, cl
jmp 0x4c529e
xor edx, edx
cmp edx, eax
jae 0x4c52a4
add edx, edx
cmp edx, ebx
je 0x4c52cb
mov eax, dword [edi + 0x3c]
lea edx, [ebx*4]
push edx
push eax
call fcn.0045d790
add esp, 8
test eax, eax
mov dword [edi + 0x3c], eax
je 0x4c50c6
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 0x40]
mov edx, dword [esp + 0x24]
and ecx, 1
lea eax, [edx + edx]
or ecx, eax
mov dword [edi + 0x40], ecx
jmp 0x4c50ca
mov eax, dword [edi + 0x48]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp esi, eax
je 0x4c50f9
test ecx, ecx
je 0x4c5326
mov edx, dword [edi + 0x44]
lea ecx, [esi*4]
push ecx
push edx
call fcn.0045d790
mov edx, dword [edi + 0x48]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax + eax]
and edx, 1
add esp, 8
or ecx, edx
mov dword [edi + 0x48], ecx
jmp 0x4c50f5
mov ebx, 1
cmp esi, ebx
jb 0x4c5336
nop
add ebx, ebx
cmp ebx, esi
jbe 0x4c5330
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4c534a
fadd dword [0x6c0a38]
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c5369
mov edx, 1
shl edx, cl
jmp 0x4c536b
xor edx, edx
cmp edx, eax
jae 0x4c5371
add edx, edx
cmp edx, ebx
je 0x4c5398
mov eax, dword [edi + 0x44]
lea edx, [ebx*4]
push edx
push eax
call fcn.0045d790
add esp, 8
test eax, eax
mov dword [edi + 0x44], eax
je 0x4c50f5
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x48]
mov ecx, dword [esp + 0x24]
lea edx, [ecx + ecx]
and eax, 1
or edx, eax
mov dword [edi + 0x48], edx
jmp 0x4c50f9
mov eax, dword [edi + 0x50]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp edx, eax
je 0x4c54f0
test ecx, ecx
je 0x4c542d
xor esi, esi
test edx, edx
je 0x4c5415
xor ecx, ecx
mov eax, edx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov esi, eax
add esp, 4
test esi, esi
je 0x4c54de
mov ecx, dword [edi + 0x50]
mov eax, dword [esp + 0x20]
shr ecx, 1
cmp ecx, eax
jbe 0x4c53ff
mov ecx, eax
xor eax, eax
test ecx, ecx
jbe 0x4c5415
mov edx, dword [edi + 0x4c]
mov edx, dword [edx + eax*4]
mov dword [esi + eax*4], edx
add eax, 1
cmp eax, ecx
jb 0x4c5405
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4c5425
push eax
call fcn.00607c35
add esp, 4
mov dword [edi + 0x4c], esi
jmp 0x4c54de
mov esi, 1
cmp edx, esi
jb 0x4c543c
add esi, esi
cmp esi, edx
jbe 0x4c5436
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
jge 0x4c5450
fadd dword [0x6c0a38]
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4c546f
mov edx, 1
shl edx, cl
jmp 0x4c5471
xor edx, edx
cmp edx, eax
jae 0x4c5477
add edx, edx
cmp edx, esi
je 0x4c54de
xor ebx, ebx
test esi, esi
je 0x4c54c7
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00608276
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4c5126
mov eax, dword [edi + 0x50]
shr eax, 1
cmp eax, esi
ja 0x4c54b1
mov esi, eax
xor eax, eax
test esi, esi
jbe 0x4c54c7
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx + eax*4]
mov dword [ebx + eax*4], edx
add eax, 1
cmp eax, esi
jb 0x4c54b7
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4c54d7
push eax
call fcn.00607c35
add esp, 4
test ebx, ebx
mov dword [edi + 0x4c], ebx
je 0x4c54f0
mov edx, dword [edi + 0x50]
mov eax, dword [esp + 0x20]
and edx, 1
lea ecx, [eax + eax]
or ecx, edx
mov dword [edi + 0x50], ecx
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4c550c
mov ecx, dword [edi + 0x50]
shr ecx, 1
add ecx, ecx
add ecx, ecx
push ecx
push 0
push eax
call fcn.0060c930
add esp, 0xc
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jle 0x4c5586
jmp 0x4c5520
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.004c3e70
mov edx, dword [esp + 0x28]
add ebx, 1
mov dword [edx], eax
cmp ebx, dword [esp + 0x14]
jl 0x4c5520
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4c5597
push eax
call fcn.0045da90
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret 8