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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x68]
mov ecx, dword [ebx + 0x50]
push ebp
mov ebp, dword [esp + 0x70]
inc ecx
push esi
mov esi, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 4]
sub ecx, edi
mov edi, dword [ebx + 0x44]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 8]
mov edi, 0x120
sub edi, ecx
sar edi, 1
mov dword [esp + 0x34], edi
cmp ecx, dword [esp + 0x7c]
lea edx, [esi + 0x900]
mov dword [esp + 0x1c], edx
jg 0x4b016b
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0x50], ecx
jmp 0x4b0191
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x4c], edi
mov edi, dword [ebx + 0x48]
cmp ecx, edi
jg 0x4b0186
sub ecx, dword [esp + 0x7c]
mov dword [esp + 0x50], ecx
xor ecx, ecx
jmp 0x4b0191
sub edi, dword [esp + 0x7c]
mov dword [esp + 0x50], edi
sub ecx, dword [ebx + 0x48]
mov edi, dword [esp + 0x4c]
test edi, edi
mov dword [esp + 0x54], ecx
jge 0x4b01a5
mov dword [esp + 0x4c], 0
mov edi, dword [esp + 0x50]
test edi, edi
jge 0x4b01b5
xor edi, edi
mov dword [esp + 0x50], edi
jmp 0x4b01b7
xor edi, edi
cmp ecx, edi
jge 0x4b01bf
mov dword [esp + 0x54], edi
mov ecx, 2
cmp dword [ebx + 0x10], ecx
jne 0x4b09cd
cmp dword [ebx + 0x14], edi
fld dword [0x4d8198]
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], edi
je 0x4b0211
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], ecx
lea ecx, [ebp + ebp*2]
shl ecx, 2
mov edi, dword [ecx + 0x4fdad0]
mov ecx, dword [ecx + 0x4fecd8]
mov dword [esp + 0x64], 0xffffffff
jmp 0x4b0237
or ecx, 0xffffffff
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], ecx
lea ecx, [ebp + ebp*2]
shl ecx, 2
mov edi, dword [ecx + 0x4fdad4]
mov ecx, dword [ecx + 0x4fecdc]
xor ebp, ebp
add ebx, 0x18
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x48], ebx
mov ebx, dword [ebx]
mov ecx, dword [esp + ebp*4 + 0x4c]
test ecx, ecx
lea ebx, [ebx*8 + 0x4e8eb0]
mov dword [esp + 0x38], ebx
je 0x4b06c0
mov dword [esp + 0x44], ecx
jmp 0x4b0270
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b0308
mov edx, dword [edi]
fstp st(0)
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x6c]
add edi, 4
mov ebx, dword [edi + 4]
add edi, 4
add edi, 4
mov dword [esp + 0x18], edx
lea edx, [esi + ecx*4 + 0x900]
lea esi, [esi + ecx*4]
mov ecx, dword [edi]
add edi, 4
cmp ebx, 3
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
jne 0x4b02de
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx]
mov ecx, dword [esp + 0x30]
shl ebp, cl
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x64]
add ebx, 4
fld dword [ecx + ebp*4]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x14], 1
jmp 0x4b0308
mov ecx, dword [esp + 0x70]
mov ebp, dword [ecx]
mov ecx, dword [esp + 0x30]
shl ebp, cl
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + ebx*4 + 0x58]
mov dword [esp + 0x14], 3
fld dword [ecx + ebp*4]
mov ecx, dword [esp + 0x70]
add ecx, 4
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
movsx ebx, word [ecx]
test ebx, ebx
mov dword [esp + 0x20], ebx
jge 0x4b0378
lea ebx, [ebx]
mov ebx, dword [eax + 0x486c]
mov dl, byte [ebx]
add ecx, 2
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0x4868]
shl dl, cl
inc ecx
mov ebp, ecx
sar ebp, 3
add ebp, ebx
and ecx, 7
test dl, dl
mov dword [eax + 0x486c], ebp
mov dword [eax + 0x4868], ecx
jns 0x4b0361
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x7c]
neg ecx
lea ecx, [edx + ecx*2]
jmp 0x4b0365
mov ecx, dword [esp + 0x7c]
dec dword [esp + 0x10]
movsx ebx, word [ecx]
test ebx, ebx
mov dword [esp + 0x20], ebx
jl 0x4b0320
mov edx, dword [esp + 0x1c]
mov ecx, ebx
sar ecx, 4
and ebx, 0xf
cmp ecx, 0xf
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], ebx
jne 0x4b0480
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov dword [esp + ebx*4 + 0x58], ecx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
or ebx, 0xffffffff
sub ebx, ecx
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x10], ebp
jne 0x4b03c0
mov dword [esp + 0x1c], ecx
jmp 0x4b0419
mov ebp, dword [eax + 0x486c]
movzx ebx, byte [ebp + 1]
mov bh, byte [ebp]
movzx ecx, byte [ebp + 2]
shl ebx, 8
or ebx, ecx
mov ecx, dword [eax + 0x4868]
shl ebx, cl
and ebx, 0xffffff
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x7c]
add ecx, ebx
mov ebx, ecx
sar ebx, 3
add ebx, ebp
and ecx, 7
mov dword [eax + 0x486c], ebx
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x4868], ecx
mov ecx, 0x18
sub ecx, ebx
mov ebx, dword [esp + 0x40]
shr ebx, cl
mov dword [esp + 0x1c], ebx
mov ebp, dword [eax + 0x486c]
fld st(0)
mov bl, byte [ebp]
mov ecx, dword [eax + 0x4868]
shl bl, cl
inc ecx
mov byte [esp + 0x7c], bl
mov ebx, ecx
and ecx, 7
sar ebx, 3
mov dword [eax + 0x4868], ecx
mov cl, byte [esp + 0x7c]
add ebx, ebp
test cl, cl
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x486c], ebx
fmul dword [ecx*4 + 0x4f453c]
mov ebx, dword [esp + 0x20]
jns 0x4b0471
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b050f
fld dword [esi]
fsub st(1)
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
jmp 0x4b050f
test ecx, ecx
je 0x4b050b
mov ebx, dword [esp + 0x24]
fld st(0)
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x486c]
mov dword [esp + ebx*4 + 0x58], ecx
mov bl, byte [ebp]
mov ecx, dword [eax + 0x4868]
shl bl, cl
inc ecx
mov byte [esp + 0x7c], bl
mov ebx, ecx
and ecx, 7
mov dword [eax + 0x4868], ecx
mov cl, byte [esp + 0x7c]
sar ebx, 3
add ebx, ebp
test cl, cl
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x486c], ebx
fmul dword [ecx*4 + 0x4f4500]
jns 0x4b04f2
mov ecx, dword [esp + 0x10]
fld st(0)
fadd dword [esi]
mov ebx, dword [esp + 0x20]
dec ecx
mov dword [esp + 0x10], ecx
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b050f
fld dword [esi]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
fsub st(1)
dec ecx
mov dword [esp + 0x10], ecx
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
jmp 0x4b050f
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 2
add edx, ecx
add esi, ecx
cmp ebx, 0xf
jne 0x4b060e
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov dword [esp + ebx*4 + 0x58], ecx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
or ebx, 0xffffffff
sub ebx, ecx
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x10], ebp
jne 0x4b0552
mov dword [esp + 0x20], ecx
jmp 0x4b05ab
mov ebp, dword [eax + 0x486c]
movzx ebx, byte [ebp + 1]
mov bh, byte [ebp]
movzx ecx, byte [ebp + 2]
shl ebx, 8
or ebx, ecx
mov ecx, dword [eax + 0x4868]
shl ebx, cl
and ebx, 0xffffff
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x7c]
add ecx, ebx
mov ebx, ecx
sar ebx, 3
add ebx, ebp
and ecx, 7
mov dword [eax + 0x486c], ebx
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x4868], ecx
mov ecx, 0x18
sub ecx, ebx
mov ebx, dword [esp + 0x40]
shr ebx, cl
mov dword [esp + 0x20], ebx
mov ebp, dword [eax + 0x486c]
fld st(0)
mov bl, byte [ebp]
mov ecx, dword [eax + 0x4868]
shl bl, cl
inc ecx
mov byte [esp + 0x7c], bl
mov ebx, ecx
and ecx, 7
mov dword [eax + 0x4868], ecx
mov cl, byte [esp + 0x7c]
sar ebx, 3
add ebx, ebp
test cl, cl
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x486c], ebx
fmul dword [ecx*4 + 0x4f453c]
jns 0x4b05ff
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b0695
fld dword [esi]
fsub st(1)
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
jmp 0x4b0695
test ebx, ebx
je 0x4b0691
mov ebx, dword [esp + 0x24]
fld st(0)
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 0x486c]
mov dword [esp + ebx*4 + 0x58], ecx
mov bl, byte [ebp]
mov ecx, dword [eax + 0x4868]
shl bl, cl
inc ecx
mov byte [esp + 0x7c], bl
mov ebx, ecx
and ecx, 7
mov dword [eax + 0x4868], ecx
mov cl, byte [esp + 0x7c]
sar ebx, 3
add ebx, ebp
test cl, cl
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x486c], ebx
fmul dword [ecx*4 + 0x4f4500]
jns 0x4b067c
mov ecx, dword [esp + 0x10]
fld st(0)
fadd dword [esi]
dec ecx
mov dword [esp + 0x10], ecx
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b0695
fld dword [esi]
mov ecx, dword [esp + 0x10]
fsub st(1)
dec ecx
mov dword [esp + 0x10], ecx
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
jmp 0x4b0695
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
shl ecx, 2
add edx, ecx
add esi, ecx
mov ecx, dword [esp + 0x44]
dec ebx
dec ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x44], ecx
jne 0x4b0270
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
inc ebp
add ebx, 4
cmp ebp, 2
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x48], ebx
jl 0x4b0248
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4b08f8
jmp 0x4b06f0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jle 0x4b08f8
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x54]
mov ecx, dword [ecx*8 + 0x4e8fb4]
xor ebp, ebp
mov bp, word [ecx]
test bp, bp
mov dword [esp + 0x44], ebp
jge 0x4b078b
jmp 0x4b0720
add ecx, 2
mov dword [esp + 0x48], ecx
dec dword [esp + 0x10]
js 0x4b0785
mov ebp, dword [eax + 0x486c]
mov bl, byte [ebp]
mov ecx, dword [eax + 0x4868]
shl bl, cl
inc ecx
mov byte [esp + 0x7c], bl
mov ebx, ecx
and ecx, 7
sar ebx, 3
mov dword [eax + 0x4868], ecx
mov cl, byte [esp + 0x7c]
add ebx, ebp
test cl, cl
mov dword [eax + 0x486c], ebx
jns 0x4b0771
movsx ecx, word [esp + 0x44]
mov ebx, dword [esp + 0x48]
neg ecx
lea ecx, [ebx + ecx*2]
jmp 0x4b0775
mov ecx, dword [esp + 0x48]
xor ebp, ebp
mov bp, word [ecx]
test bp, bp
mov dword [esp + 0x44], ebp
jl 0x4b0720
jmp 0x4b078b
inc dword [esp + 0x10]
xor ebp, ebp
movsx ebx, bp
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], ebx
jmp 0x4b07a0
test cl, 1
jne 0x4b0856
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b0843
mov edx, dword [edi]
fstp st(0)
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x6c]
add edi, 4
mov ebp, dword [edi + 4]
add edi, 4
add edi, 4
mov dword [esp + 0x18], edx
lea edx, [esi + ecx*4 + 0x900]
lea esi, [esi + ecx*4]
mov ecx, dword [edi]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x30]
shl ebx, cl
mov ecx, dword [esp + 0x74]
add edi, 4
cmp ebp, 3
mov dword [esp + 0x24], ebp
jne 0x4b081f
mov ecx, dword [ecx + 0x64]
fld dword [ecx + ebx*4]
mov ecx, dword [esp + 0x70]
add ecx, 4
mov dword [esp + 0x70], ecx
dec dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], 1
jmp 0x4b085a
mov ecx, dword [ecx + ebp*4 + 0x58]
fld dword [ecx + ebx*4]
mov ecx, dword [esp + 0x70]
add ecx, 4
mov dword [esp + 0x70], ecx
dec dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], 3
jmp 0x4b085a
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
dec ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x2c]
jmp 0x4b085a
mov ebp, dword [esp + 0x24]
mov ebx, 8
sar ebx, cl
mov ecx, dword [esp + 0x48]
test ecx, ebx
je 0x4b08c7
mov ecx, dword [esp + 0x28]
mov dword [esp + ebp*4 + 0x58], ecx
dec dword [esp + 0x10]
js 0x4b08ea
mov ebp, dword [eax + 0x486c]
mov bl, byte [ebp]
mov ecx, dword [eax + 0x4868]
shl bl, cl
inc ecx
mov byte [esp + 0x7c], bl
mov ebx, ecx
and ecx, 7
sar ebx, 3
mov dword [eax + 0x4868], ecx
mov cl, byte [esp + 0x7c]
add ebx, ebp
test cl, cl
mov dword [eax + 0x486c], ebx
jns 0x4b08b9
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
jmp 0x4b08cb
fld dword [esi]
fsub st(1)
fstp dword [edx]
fld st(0)
fadd dword [esi]
fstp dword [esi]
jmp 0x4b08cb
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 2
add edx, ecx
add esi, ecx
mov ecx, dword [esp + 0x2c]
inc ecx
cmp ecx, 4
mov dword [esp + 0x2c], ecx
jl 0x4b07a0
jmp 0x4b08ee
inc dword [esp + 0x10]
dec dword [esp + 0x34]
jne 0x4b06f0
mov ecx, dword [esp + 0x3c]
fstp st(0)
cmp edi, ecx
jae 0x4b0962
mov ebx, dword [esp + 0x18]
test ebx, ebx
mov ebp, dword [esp + 0x6c]
jne 0x4b0941
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
add edi, 4
add edi, 4
lea edx, [ebp + ecx*4 + 0x900]
lea esi, [ebp + ecx*4]
mov ecx, dword [edi]
add edi, 4
cmp ecx, 3
mov dword [esp + 0x14], 1
je 0x4b093e
mov dword [esp + 0x14], 3
add edi, 4
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 2
mov ebp, dword [esi + ecx]
add esi, ecx
add edx, ecx
mov dword [edx], ebp
add edx, ecx
add esi, ecx
mov ecx, dword [esp + 0x3c]
dec ebx
cmp edi, ecx
jb 0x4b0906
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x74]
lea esi, [edx + 1]
mov dword [ecx + 0x30], esi
mov esi, dword [esp + 0x5c]
cmp edx, esi
lea edi, [esi + 1]
mov dword [ecx + 0x34], edi
mov edi, dword [esp + 0x60]
lea ebx, [edi + 1]
mov dword [ecx + 0x38], ebx
mov ebx, dword [esp + 0x64]
lea ebp, [ebx + 1]
mov dword [ecx + 0x3c], ebp
jg 0x4b0994
mov edx, esi
cmp edx, edi
jg 0x4b099a
mov edx, edi
lea esi, [edx + 1]
test esi, esi
mov edx, dword [esp + 0x78]
je 0x4b09b9
imul edx, edx, 0xe
add edx, esi
mov edx, dword [edx*4 + 0x50a320]
mov dword [ecx + 0x40], edx
jmp 0x4b1007
imul edx, edx, 0x17
add edx, ebx
mov edx, dword [edx*4 + 0x509fe4]
mov dword [ecx + 0x40], edx
jmp 0x4b1007
cmp dword [ebx + 0x4c], edi
mov dword [esp + 0x18], 0x4e9058
jne 0x4b09e2
mov dword [esp + 0x18], 0x5010a8
fld dword [0x4d8198]
lea ecx, [ebp + ebp*2]
mov ecx, dword [ecx*4 + 0x4fdad8]
add ebx, 0x18
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], ebx
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov edi, dword [edi]
mov ecx, dword [esp + ecx*4 + 0x4c]
test ecx, ecx
lea edi, [edi*8 + 0x4e8eb0]
mov dword [esp + 0x38], edi
je 0x4b0df1
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4b0a85
mov ecx, dword [esp + 0x14]
fstp st(0)
mov edi, dword [ecx]
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx]
add ecx, 4
mov dword [esp + 0x24], edi
mov edi, dword [ecx]
add ecx, 4
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
add ebp, dword [edi]
mov ecx, dword [esp + 0x30]
shl ebp, cl
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x64]
add edi, 4
fld dword [ecx + ebp*4]
add ebx, 4
mov dword [esp + 0x18], edi
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0x38]
mov ebp, dword [ecx + 4]
movsx ecx, word [ebp]
test ecx, ecx
mov dword [esp + 0x7c], ecx
jge 0x4b0af1
jmp 0x4b0aa0
mov edi, dword [eax + 0x486c]
mov ecx, dword [eax + 0x4868]
mov dl, byte [edi]
shl dl, cl
add ebp, 2
inc ecx
mov ebx, ecx
sar ebx, 3
add ebx, edi
and ecx, 7
test dl, dl
mov dword [eax + 0x486c], ebx
mov dword [eax + 0x4868], ecx
jns 0x4b0ad8
mov ecx, dword [esp + 0x7c]
neg ecx
lea ebp, [ebp + ecx*2]
movsx ecx, word [ebp]
mov edi, dword [esp + 0x10]
dec edi
test ecx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x7c], ecx
jl 0x4b0aa0
mov edx, dword [esp + 0x1c]
mov edi, ecx
sar edi, 4
and ecx, 0xf
cmp edi, 0xf
mov dword [esp + 0x48], edi
mov dword [esp + 0x7c], ecx
jne 0x4b0be0
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov ebp, dword [ecx]
or ecx, 0xffffffff
sub ecx, ebp
add edi, ecx
test ebp, ebp
mov dword [esp + 0x10], edi
jne 0x4b0b31
mov dword [esp + 0x3c], ebp
jmp 0x4b0b81
mov edi, dword [eax + 0x486c]
movzx ebx, byte [edi + 1]
mov bh, byte [edi]
movzx ecx, byte [edi + 2]
shl ebx, 8
or ebx, ecx
mov ecx, dword [eax + 0x4868]
shl ebx, cl
add ecx, ebp
and ebx, 0xffffff
mov dword [esp + 0x48], ebx
mov ebx, ecx
and ecx, 7
sar ebx, 3
mov dword [eax + 0x4868], ecx
add ebx, edi
mov edi, dword [esp + 0x48]
mov ecx, 0x18
sub ecx, ebp
shr edi, cl
mov dword [eax + 0x486c], ebx
mov dword [esp + 0x3c], edi
mov ebp, dword [eax + 0x4868]
fld st(0)
mov edi, dword [eax + 0x486c]
mov bl, byte [edi]
mov ecx, ebp
shl bl, cl
lea ecx, [ebp + 1]
mov ebp, ecx
and ecx, 7
sar ebp, 3
mov dword [eax + 0x4868], ecx
mov ecx, dword [esp + 0x3c]
add ebp, edi
test bl, bl
mov dword [eax + 0x486c], ebp
fmul dword [ecx*4 + 0x4f453c]
mov ecx, dword [esp + 0x7c]
jns 0x4b0bd4
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b0c5b
fld dword [esi]
fsub st(1)
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
jmp 0x4b0c5b
test edi, edi
je 0x4b0c57
mov ebp, dword [eax + 0x4868]
fld st(0)
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x486c]
mov bl, byte [edi]
mov dword [esp + 0x2c], ecx
mov ecx, ebp
shl bl, cl
lea ecx, [ebp + 1]
mov ebp, ecx
and ecx, 7
sar ebp, 3
add ebp, edi
test bl, bl
mov dword [eax + 0x4868], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x486c], ebp
fmul dword [ecx*4 + 0x4f4500]
jns 0x4b0c38
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b0c42
fld dword [esi]
fsub st(1)
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
mov ecx, dword [esp + 0x10]
add edx, 4
add esi, 4
dec ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x7c]
jmp 0x4b0c61
mov edi, dword [esi]
mov dword [edx], edi
add edx, 4
add esi, 4
cmp ecx, 0xf
jne 0x4b0d3f
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov ebp, dword [ecx]
or ecx, 0xffffffff
sub ecx, ebp
add edi, ecx
test ebp, ebp
mov dword [esp + 0x10], edi
jne 0x4b0c91
mov dword [esp + 0x7c], ebp
jmp 0x4b0ce1
mov edi, dword [eax + 0x486c]
movzx ebx, byte [edi + 1]
mov bh, byte [edi]
movzx ecx, byte [edi + 2]
shl ebx, 8
or ebx, ecx
mov ecx, dword [eax + 0x4868]
shl ebx, cl
add ecx, ebp
and ebx, 0xffffff
mov dword [esp + 0x7c], ebx
mov ebx, ecx
and ecx, 7
sar ebx, 3
mov dword [eax + 0x4868], ecx
add ebx, edi
mov edi, dword [esp + 0x7c]
mov ecx, 0x18
sub ecx, ebp
shr edi, cl
mov dword [eax + 0x486c], ebx
mov dword [esp + 0x7c], edi
mov ebp, dword [eax + 0x4868]
fld st(0)
mov edi, dword [eax + 0x486c]
mov bl, byte [edi]
mov ecx, ebp
shl bl, cl
lea ecx, [ebp + 1]
mov ebp, ecx
and ecx, 7
sar ebp, 3
add ebp, edi
test bl, bl
mov dword [eax + 0x4868], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0x486c], ebp
fmul dword [ecx*4 + 0x4f453c]
jns 0x4b0d30
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
fstp st(0)
jmp 0x4b0dcf
fld dword [esi]
fsub st(1)
fstp dword [edx]
fadd dword [esi]
fstp dword [esi]
jmp 0x4b0dcf
test ecx, ecx
je 0x4b0dcb
mov ebp, dword [eax + 0x4868]
fld st(0)
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x486c]
mov bl, byte [edi]
mov dword [esp + 0x2c], ecx
mov ecx, ebp
shl bl, cl
lea ecx, [ebp + 1]
mov ebp, ecx
and ecx, 7
sar ebp, 3
add ebp, edi
test bl, bl
mov dword [eax + 0x4868], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0x486c], ebp
fmul dword [ecx*4 + 0x4f4500]
jns 0x4b0dad
mov ecx, dword [esp + 0x10]
fld st(0)
fadd dword [esi]
add edx, 4
add esi, 4
dec ecx
fstp dword [edx - 4]
mov dword [esp + 0x10], ecx
fld dword [esi - 4]
fsub st(1)
fstp dword [esi - 4]
fstp st(0)
jmp 0x4b0dd5
fld dword [esi]
mov ecx, dword [esp + 0x10]
fsub st(1)
add edx, 4
add esi, 4
dec ecx
fstp dword [edx - 4]
mov dword [esp + 0x10], ecx
fadd dword [esi - 4]
fstp dword [esi - 4]
jmp 0x4b0dd5
mov ecx, dword [esi]
mov dword [edx], ecx
add edx, 4
add esi, 4
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
dec edi
dec ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x44], ecx
jne 0x4b0a37
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x40]
inc ecx
add ebx, 4
cmp ecx, 3
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], ebx
jl 0x4b0a12
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4b0fba
lea ebx, [ebx]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jle 0x4b0fba
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x54]
mov ecx, dword [ecx*8 + 0x4e8fb4]
xor edi, edi
mov di, word [ecx]
test di, di
mov dword [esp + 0x48], edi
jge 0x4b0eb6
jmp 0x4b0e50
add ecx, 2
mov dword [esp + 0x7c], ecx
dec dword [esp + 0x10]
js 0x4b0eb0
mov ebp, dword [eax + 0x4868]
mov edi, dword [eax + 0x486c]
mov bl, byte [edi]
mov ecx, ebp
shl bl, cl
lea ecx, [ebp + 1]
mov ebp, ecx
sar ebp, 3
add ebp, edi
and ecx, 7
test bl, bl
mov dword [eax + 0x486c], ebp
mov dword [eax + 0x4868], ecx
jns 0x4b0e9c
movsx ecx, word [esp + 0x48]
mov edi, dword [esp + 0x7c]
neg ecx
lea ecx, [edi + ecx*2]
jmp 0x4b0ea0
mov ecx, dword [esp + 0x7c]
xor edi, edi
mov di, word [ecx]
test di, di
mov dword [esp + 0x48], edi
jl 0x4b0e50
jmp 0x4b0eb6
inc dword [esp + 0x10]
xor edi, edi
movsx edi, di
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x7c], edi
test cl, 1
jne 0x4b0f1f
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4b0f17
mov ecx, dword [esp + 0x14]
fstp st(0)
mov edi, dword [ecx]
mov ebp, dword [esp + 0x70]
mov ebx, dword [ebp]
add ecx, 4
mov dword [esp + 0x24], edi
mov edi, dword [ecx]
add ecx, 4
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
add ebx, dword [edi]
mov ecx, dword [esp + 0x30]
shl ebx, cl
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x64]
add edi, 4
fld dword [ecx + ebx*4]
add ebp, 4
mov dword [esp + 0x18], edi
mov dword [esp + 0x70], ebp
dec dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edi, 8
sar edi, cl
mov ecx, dword [esp + 0x7c]
test ecx, edi
je 0x4b0f8e
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
dec ecx
test ecx, ecx
mov dword [esp + 0x10], ecx
jle 0x4b0fac
mov ebp, dword [eax + 0x4868]
mov edi, dword [eax + 0x486c]
mov bl, byte [edi]
mov ecx, ebp
shl bl, cl
lea ecx, [ebp + 1]
mov ebp, ecx
sar ebp, 3
add ebp, edi
and ecx, 7
test bl, bl
mov dword [eax + 0x486c], ebp
mov dword [eax + 0x4868], ecx
jns 0x4b0f80
fld st(0)
fadd dword [esi]
fstp dword [edx]
fld dword [esi]
fsub st(1)
fstp dword [esi]
jmp 0x4b0f92
fld dword [esi]
fsub st(1)
fstp dword [edx]
fld st(0)
fadd dword [esi]
fstp dword [esi]
jmp 0x4b0f92
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esp + 0x20]
add edx, 4
add esi, 4
inc ecx
cmp ecx, 4
mov dword [esp + 0x20], ecx
jl 0x4b0ec3
jmp 0x4b0fb0
inc dword [esp + 0x10]
dec dword [esp + 0x34]
jne 0x4b0e20
mov ecx, dword [esp + 0x6c]
fstp st(0)
sub ecx, edx
add ecx, 0x1200
sar ecx, 3
test ecx, ecx
je 0x4b0fe8
nop
mov edi, dword [esi]
mov dword [edx], edi
mov edi, dword [esi + 4]
add esi, 4
add edx, 4
mov dword [edx], edi
add edx, 4
add esi, 4
dec ecx
jne 0x4b0fd0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x2c]
imul ecx, ecx, 0x17
mov esi, dword [esp + 0x74]
inc edx
add ecx, edx
mov dword [esi + 0x3c], edx
mov edx, dword [ecx*4 + 0x509fe0]
mov dword [esi + 0x40], edx
mov edi, dword [esp + 0x10]
cmp edi, 0x10
jle 0x4b104c
mov esi, dword [eax + 0x486c]
mov ecx, dword [eax + 0x4868]
lea edx, [edi - 0x11]
shr edx, 4
inc edx
mov ebx, edx
neg ebx
shl ebx, 4
add edi, ebx
lea esp, [esp]
add ecx, 0x10
mov ebx, ecx
sar ebx, 3
add esi, ebx
and ecx, 7
dec edx
jne 0x4b1030
mov dword [eax + 0x486c], esi
mov dword [eax + 0x4868], ecx
test edi, edi
jle 0x4b107e
mov ecx, dword [eax + 0x4868]
mov esi, dword [eax + 0x486c]
add ecx, edi
mov edx, ecx
sar edx, 3
add esi, edx
and ecx, 7
mov dword [eax + 0x486c], esi
mov dword [eax + 0x4868], ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x58
ret
jge 0x4b1074
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x58
ret