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

Disassembly:
sub esp, 0x124
push ebx
mov ebx, dword [0x9bed28]
push ebp
xor ebp, ebp
cmp ebx, ebp
push esi
push edi
mov edi, eax
mov esi, ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
jne 0x5b46e8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x124
ret
cmp esi, ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xf4], ebp
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x124], ebp
mov dword [esp + 0x1c], ebp
je 0x5b4975
mov ebx, dword [esi + 0x20]
push 0x24
lea eax, [esp + 0x54]
push esi
push eax
mov dword [esp + 0x20], ebx
call fcn.0057bde2
mov edx, dword [esp + 0x144]
add esp, 0xc
cmp edi, ebp
lea ecx, [esi + 0x24]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
je 0x5b4950
xor edx, edx
cmp ebx, ebp
jle 0x5b47bd
mov esi, ecx
mov eax, dword [esi]
test eax, eax
js 0x5b47af
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x8000000
jne 0x5b47af
mov ecx, eax
and ecx, 0xffff
cmp ecx, 0x8000
jae 0x5b47af
mov ecx, dword [ecx*4 + 0x90d9fc]
cmp ecx, ebp
je 0x5b47af
mov edi, dword [ecx]
shl edi, 0x10
and eax, 0x7ff0000
cmp edi, eax
jne 0x5b47af
mov eax, dword [ecx + 0xa4]
mov ecx, dword [eax]
mov dword [esp + edx*4 + 0x30], ecx
jmp 0x5b47b3
mov dword [esp + edx*4 + 0x30], ebp
add edx, 1
add esi, 0x18
cmp edx, ebx
jl 0x5b4762
mov eax, dword [esp + 0x60]
mov ebx, dword [0x9bed28]
cmp dword [0xa8e5b8], 1
mov ecx, dword [esp + 0x58]
jne 0x5b5381
mov eax, dword [ebx]
mov edx, dword [eax + 0xe4]
push ecx
push 0x19
push ebx
call edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov dword [0x9feb14], eax
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
push edx
push 0x18
push eax
mov eax, dword [ecx + 0xe4]
call eax
mov ecx, dword [esp + 0x54]
mov eax, dword [0x9bed28]
mov dword [0x9feb10], ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [eax]
mov edx, dword [edx + 0xe4]
push ecx
push 0xf
push eax
call edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
mov dword [0x9feb0c], eax
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
push edx
push 0x1b
push eax
mov eax, dword [ecx + 0xe4]
call eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [0x9bed28]
mov dword [0x9feb18], ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [eax]
mov edx, dword [edx + 0xe4]
push ecx
push 0x3c
push eax
call edx
mov eax, dword [esp + 0x60]
movzx ecx, al
mov dword [esp + 0x10], ecx
mov edx, eax
shr edx, 8
fild dword [esp + 0x10]
and edx, 0xff
fld qword [0x881b70]
mov dword [esp + 0x10], edx
mov ecx, eax
fdiv st(1), st(0)
shr ecx, 0x10
and ecx, 0xff
mov dword [0x9feb1c], eax
shr eax, 0x18
test eax, eax
fxch st(1)
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fdiv st(1)
fstp dword [esp + 0x24]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fdiv st(1)
fstp dword [esp + 0x28]
fild dword [esp + 0x10]
jge 0x5b48d1
fadd dword [0x879ef8]
cmp dword [0xa05cc4], 0
fdivrp st(1)
fstp dword [esp + 0x2c]
je 0x5b490c
cmp dword [0xa8f830], 0
je 0x5b48f3
push 0
call fcn.0057dbd8
add esp, 4
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x1b4]
push 1
lea ecx, [esp + 0x24]
push ecx
push 5
push eax
call edx
push 0x10
lea eax, [esp + 0x24]
push eax
push 0xa8f614
call fcn.0057bde2
mov eax, dword [esp + 0x70]
add esp, 0xc
cmp eax, 0xffffffff
je 0x5b510f
mov ecx, dword [0x9bed28]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0xe4]
push 0x13
push ecx
call eax
mov ecx, dword [esp + 0x64]
mov dword [0x9feb20], ecx
jmp 0x5b512d
xor eax, eax
cmp ebx, ebp
jle 0x5b47bd
lea ebx, [ebx]
mov edx, dword [ecx]
mov dword [esp + eax*4 + 0x30], edx
add eax, 1
add ecx, 0x18
cmp eax, ebx
jl 0x5b4960
jmp 0x5b47bd
mov esi, 1
cmp dword [0x9fecd4], esi
jne 0x5b4a45
mov ebx, dword [0x9fec10]
push 0x24
lea eax, [esp + 0x54]
push 0x9febf0
push eax
mov dword [esp + 0x20], ebx
call fcn.0057bde2
mov edx, dword [0x9fecd8]
add esp, 0xc
cmp edi, ebp
mov ecx, 0x9fec14
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
je 0x5b4a27
xor edx, edx
cmp ebx, ebp
jle 0x5b47bd
mov edi, ecx
mov eax, dword [edi]
test eax, eax
js 0x5b4a14
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x8000000
jne 0x5b4a14
mov ecx, eax
and ecx, 0xffff
cmp ecx, 0x8000
jae 0x5b4a14
mov ecx, dword [ecx*4 + 0x90d9fc]
cmp ecx, ebp
je 0x5b4a14
mov esi, dword [ecx]
shl esi, 0x10
and eax, 0x7ff0000
cmp esi, eax
jne 0x5b4a14
mov eax, dword [ecx + 0xa4]
mov ecx, dword [eax]
mov dword [esp + edx*4 + 0x30], ecx
jmp 0x5b4a18
mov dword [esp + edx*4 + 0x30], ebp
add edx, 1
add edi, 0x18
cmp edx, ebx
jl 0x5b49c7
jmp 0x5b47bd
xor eax, eax
cmp ebx, ebp
jle 0x5b47bd
mov edx, dword [ecx]
mov dword [esp + eax*4 + 0x30], edx
add eax, esi
add ecx, 0x18
cmp eax, ebx
jl 0x5b4a31
jmp 0x5b47bd
cmp dword [0xa8e5b8], ebp
jne 0x5b4b16
cmp dword [0xa05cac], ebp
jne 0x5b4b16
mov eax, dword [0xa05cb0]
cmp eax, ebp
je 0x5b46da
cmp eax, esi
jne 0x5b4b16
cmp dword [0x9feb04], ebp
je 0x5b4ae5
cmp dword [0xa05ca4], esi
jne 0x5b4ab3
mov ecx, dword [0x9feb00]
mov eax, dword [ebx]
mov edx, dword [eax + 0x104]
push ecx
push 2
push ebx
call edx
mov eax, dword [0x9feb00]
pop edi
pop esi
mov dword [0xa05cb0], ebp
pop ebp
mov dword [0x9feb60], eax
xor eax, eax
pop ebx
add esp, 0x124
ret
mov edx, dword [0x9feb00]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x104]
push edx
push esi
push ebx
call eax
mov ecx, dword [0x9feb00]
pop edi
pop esi
mov dword [0xa05cb0], ebp
pop ebp
mov dword [0x9feb48], ecx
xor eax, eax
pop ebx
add esp, 0x124
ret
mov eax, dword [0x9feb00]
mov edx, dword [ebx]
mov ecx, dword [edx + 0x104]
push eax
push ebp
push ebx
call ecx
mov edx, dword [0x9feb00]
pop edi
pop esi
mov dword [0xa05cb0], ebp
pop ebp
mov dword [0x9feb30], edx
xor eax, eax
pop ebx
add esp, 0x124
ret
mov edi, dword [0xa05c98]
mov esi, edi
shl esi, 4
mov eax, dword [esi + 0x87bfd8]
mov ecx, dword [esi + 0x87bfdc]
mov edx, dword [esi + 0x87bfe4]
mov dword [esp + 0x68], eax
or eax, 0xffffffff
cmp edi, 3
mov dword [0xa05cb0], ebp
mov dword [0xa05cac], ebp
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x60], eax
jne 0x5b4b84
cmp dword [0x9bee8c], ebp
je 0x5b4b8d
or eax, 0xffffffff
mov dword [esp + 0x68], 2
mov dword [esp + 0x64], 5
mov dword [esp + 0x6c], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x10], 1
jmp 0x5b4b9b
cmp edi, ebp
je 0x5b4b97
cmp edi, 6
je 0x5b4b97
mov dword [esp + 0x10], 1
jmp 0x5b4b9b
mov dword [esp + 0x10], ebp
mov ebp, dword [0x9feb04]
xor edx, edx
test ebp, ebp
setne dl
xor ecx, ecx
cmp dword [0x9feb00], ecx
jne 0x5b4cec
mov ebp, 3
cmp edi, ebp
mov dword [0xa05cb4], ecx
lea edx, [ecx + 1]
jne 0x5b4bd5
mov dword [esp + 0x18], 0x87c0a8
jmp 0x5b4c8c
mov eax, dword [esi + 0x87bfe0]
sub eax, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x90], ecx
mov word [esp + 0x98], cx
mov word [esp + 0x9a], cx
mov word [esp + 0x9c], dx
mov word [esp + 0x9e], cx
mov word [esp + 0xa0], cx
mov word [esp + 0xa2], dx
je 0x5b4c54
sub eax, edx
je 0x5b4c38
sub eax, edx
jne 0x5b4c84
mov word [esp + 0x86], 0x10
mov word [esp + 0x8a], 2
jmp 0x5b4c64
mov word [esp + 0x86], cx
mov word [esp + 0x88], bp
mov word [esp + 0x8a], 0xc
jmp 0x5b4c6c
mov word [esp + 0x86], cx
mov word [esp + 0x8a], bp
mov word [esp + 0x88], cx
mov word [esp + 0x80], cx
mov word [esp + 0x82], cx
mov word [esp + 0x84], bp
lea eax, [esp + 0x74]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x87bfe0], edx
mov eax, dword [0x9feb14]
mov dword [esp + 0x50], ecx
mov ecx, dword [0x9feb10]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov eax, dword [0x9feb1c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
jne 0x5b4cc7
or eax, 0xffffffff
mov dword [esp + 0x60], eax
mov ecx, dword [0x9beed8]
lea edx, [ecx + ecx*2]
mov dword [0x9beee0], 0
mov ecx, dword [edx*4 + 0x9beec0]
mov dword [0x9beefc], ecx
jmp 0x5b50b5
cmp dword [0xa05ca4], ecx
jne 0x5b4d08
cmp dword [0xa05ca8], ecx
jne 0x5b4d08
cmp dword [0x9fed64], ecx
je 0x5b4d15
test edx, edx
jne 0x5b4d1f
mov ecx, dword [0xa05ca4]
neg ecx
sbb ecx, ecx
add ecx, 2
xor edi, edi
cmp edx, edi
je 0x5b4fbd
lea eax, [esp + 0x74]
mov dword [esp + 0x18], eax
mov eax, dword [0xa05c8c]
lea edx, [eax + edx*2]
mov eax, dword [0xa05c90]
lea edx, [eax + edx*2]
lea eax, [ecx + edx*2]
add eax, edx
lea esi, [eax + eax*2]
shl esi, 6
add esi, 0x87c168
cmp dword [esp + 0x10], 0
mov ecx, 0x30
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
jne 0x5b4d72
mov dword [esp + 0x68], 6
mov dword [esp + 0x64], 5
mov ecx, dword [0xa05c9c]
mov eax, dword [0x9beed8]
xor edx, edx
cmp ecx, 0xff
sete dl
lea eax, [eax + eax*2]
mov dword [0x9beee0], 2
mov esi, 1
xor edi, edi
mov dword [esp + 0x30], ebp
mov dword [0xa05cb4], edx
mov edx, dword [eax*4 + 0x9beec8]
mov eax, dword [0x9feb00]
mov dword [0x9beefc], edx
mov edx, dword [0xa05ca4]
cmp edx, esi
jne 0x5b4dcc
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
jmp 0x5b4dd0
mov dword [esp + 0x34], eax
mov eax, dword [0xa05ca0]
cmp eax, esi
jg 0x5b4e17
cmp edx, edi
mov eax, 0xffffff
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 7
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], eax
jne 0x5b4e06
cmp dword [0xa05ca8], edi
je 0x5b50b5
cmp ecx, edi
jne 0x5b50b5
mov dword [esp + 0x54], esi
jmp 0x5b50b5
cmp eax, 0x40
mov edx, dword [0x9feb10]
mov dword [esp + 0x54], edx
mov edx, dword [0x9feb14]
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], esi
jg 0x5b4eb1
lea ecx, [ecx + ecx*4]
shl ecx, 8
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x500
sub eax, ecx
cmp eax, 0x400
mov word [esp + 0x9c], 6
jge 0x5b4e82
imul eax, eax, 0xff
cdq
and edx, 0x3ff
add edx, eax
sar edx, 0xa
jmp 0x5b4f6b
add eax, 0xfffffc00
shl eax, 6
cdq
and edx, 0xff
add eax, edx
sar eax, 8
shl eax, 0x18
or eax, 0xffffff
mov dword [esp + 0x60], eax
mov word [esp + 0x84], 7
jmp 0x5b50b5
cmp eax, 0x80
mov eax, 0x80808081
jg 0x5b4f2e
lea ecx, [ecx + ecx*2]
shl ecx, 8
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x300
sub eax, ecx
cmp eax, 0x200
mov word [esp + 0x9c], 5
jge 0x5b4eff
imul eax, eax, 0xff
cdq
and edx, 0x1ff
add edx, eax
sar edx, 9
jmp 0x5b4f6b
add eax, 0xfffffe00
shl eax, 7
cdq
and edx, 0xff
add eax, edx
sar eax, 8
shl eax, 0x18
or eax, 0xffffff
mov dword [esp + 0x60], eax
mov word [esp + 0x84], 7
jmp 0x5b50b5
shl ecx, 9
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x200
sub eax, ecx
cmp eax, 0x100
mov word [esp + 0x9c], 4
jge 0x5b4f8b
imul eax, eax, 0xff
cdq
and edx, 0xff
add edx, eax
sar edx, 8
or eax, 0xffffffff
sub eax, edx
shl eax, 0x18
or eax, 0xffffff
mov dword [esp + 0x60], eax
mov word [esp + 0x84], 0xa
jmp 0x5b50b5
add eax, 0xffffff00
imul eax, eax, 0xff
cdq
and edx, 0xff
add eax, edx
sar eax, 8
shl eax, 0x18
or eax, 0xffffff
mov dword [esp + 0x60], eax
mov word [esp + 0x84], 7
jmp 0x5b50b5
mov edx, dword [0x9beed8]
mov esi, dword [esi + 0x87bfe0]
mov ebp, dword [0xa05c90]
lea edx, [edx + edx*2]
mov dword [0xa05cb4], edi
mov dword [0x9beee0], 1
mov edx, dword [edx*4 + 0x9beec4]
mov dword [0x9beefc], edx
mov edx, dword [0xa05c8c]
lea edx, [edx + esi*4]
lea edx, [ebp + edx*2]
lea ecx, [ecx + edx*2]
add ecx, edx
lea ecx, [ecx + ecx*2]
shl ecx, 6
add ecx, 0x87c168
mov dword [esp + 0x18], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x14], ecx
mov ecx, 1
cmp dword [0xa05ca8], ecx
jne 0x5b503a
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], 0x10
mov dword [esp + 0x58], 5
jmp 0x5b508a
cmp dword [0x9fed64], edi
jne 0x5b505c
mov edx, dword [0x9feb10]
mov dword [esp + 0x54], edx
mov edx, dword [0x9feb14]
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edx
jmp 0x5b506c
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], 5
cmp dword [0xa05ca4], ecx
jne 0x5b508a
cmp dword [esp + 0x10], edi
jne 0x5b508a
mov dword [esp + 0x68], 6
mov dword [esp + 0x64], 5
cmp esi, ecx
jne 0x5b5095
or eax, 0xffffffff
mov dword [esp + 0x60], eax
cmp dword [0xa05ca4], ecx
mov edx, dword [0x9feb00]
mov dword [esp + 0x30], edx
je 0x5b50b1
cmp dword [esp + 0x10], ecx
mov dword [esp + 0x5c], edi
jne 0x5b50b5
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0x14]
cmp edi, dword [0x9feb2c]
je 0x5b50fc
mov esi, dword [0xa8e5b8]
mov ebx, dword [0x9fecdc]
mov dword [0x9feb2c], edi
mov dword [0xa8e5b8], 1
call fcn.005aca50
mov eax, dword [0x9fece0]
call fcn.005acd90
mov eax, dword [esp + 0x60]
mov ebx, dword [0x9bed28]
mov dword [0xa8e5b8], esi
cmp edi, 8
jge 0x5b47c7
add dword [esp + 0x14], 1
jmp 0x5b47c7
mov ecx, dword [0x9feb20]
cmp ecx, 1
jle 0x5b512d
mov eax, dword [0x9bed28]
mov edx, dword [eax]
push ecx
push 0x13
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x68]
cmp ecx, 0xffffffff
je 0x5b5155
mov eax, dword [0x9bed28]
mov edx, dword [eax]
push ecx
push 0x14
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x68]
mov dword [0x9feb24], ecx
jmp 0x5b5173
mov ecx, dword [0x9feb24]
cmp ecx, 1
jle 0x5b5173
mov eax, dword [0x9bed28]
mov edx, dword [eax]
push ecx
push 0x14
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xffffffff
je 0x5b519e
mov eax, dword [0x9bed28]
mov edx, dword [eax]
push ecx
push 0xab
push eax
mov eax, dword [edx + 0xe4]
call eax
mov ecx, dword [esp + 0x6c]
mov dword [0x9feb28], ecx
jmp 0x5b51bf
mov ecx, dword [0x9feb28]
cmp ecx, 1
jle 0x5b51bf
mov eax, dword [0x9bed28]
mov edx, dword [eax]
push ecx
push 0xab
push eax
mov eax, dword [edx + 0xe4]
call eax
xor edi, edi
cmp dword [esp + 0x14], edi
jle 0x5b578d
mov esi, dword [esp + 0x18]
add esi, 4
mov ebx, 0x9feb38
cmp edi, 2
jl 0x5b51ee
cmp word [esi - 0xc], 1
jne 0x5b51ee
cmp dword [esp + 0x1c], 0
je 0x5b578d
mov ebp, dword [esp + edi*4 + 0x30]
mov eax, dword [0x9bed28]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x104]
push ebp
push edi
push eax
call edx
mov dword [ebx - 8], ebp
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x5b5228
mov ecx, dword [0x9bed28]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10c]
push 0xb
push edi
push ecx
call eax
mov ecx, dword [esi]
mov dword [ebx - 4], ecx
cmp dword [esp + 0x1c], 0
jne 0x5b5361
cmp dword [0x9bed34], 0
je 0x5b526b
mov ebp, dword [esi + 4]
cmp ebp, 0xffffffff
je 0x5b526b
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
xor ecx, ecx
test ebp, ebp
setne cl
lea ecx, [ecx*4 + 1]
push ecx
push 0x1c
push edi
push eax
call edx
mov eax, dword [esi + 4]
mov dword [ebx], eax
movzx ecx, word [esi + 0xc]
cmp cx, 0xffff
je 0x5b5294
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 4
push edi
push eax
call edx
mov ax, word [esi + 0xc]
mov word [ebx + 8], ax
movzx ecx, word [esi + 8]
cmp cx, 0xffff
je 0x5b52bd
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 5
push edi
push eax
call edx
mov ax, word [esi + 8]
mov word [ebx + 4], ax
movzx ecx, word [esi + 0xa]
cmp cx, 0xffff
je 0x5b52e6
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 6
push edi
push eax
call edx
mov ax, word [esi + 0xa]
mov word [ebx + 6], ax
movzx ecx, word [esi + 0x12]
cmp cx, 0xffff
je 0x5b530f
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 1
push edi
push eax
call edx
mov ax, word [esi + 0x12]
mov word [ebx + 0xe], ax
movzx ecx, word [esi + 0xe]
cmp cx, 0xffff
je 0x5b5338
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 2
push edi
push eax
call edx
mov ax, word [esi + 0xe]
mov word [ebx + 0xa], ax
movzx ecx, word [esi + 0x10]
cmp cx, 0xffff
je 0x5b5361
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x10c]
movsx ecx, cx
push ecx
push 3
push edi
push eax
call edx
mov ax, word [esi + 0x10]
mov word [ebx + 0xc], ax
add edi, 1
add esi, 0x18
add ebx, 0x18
cmp edi, dword [esp + 0x14]
jl 0x5b51d7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x124
ret
cmp ecx, dword [0x9feb14]
je 0x5b53ab
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0x19
push ebx
call eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x9bed28]
mov dword [0x9feb14], ecx
mov ecx, dword [esp + 0x54]
cmp ecx, dword [0x9feb10]
je 0x5b53d9
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0x18
push ebx
call eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x9bed28]
mov dword [0x9feb10], ecx
mov ecx, dword [esp + 0x50]
cmp ecx, dword [0x9feb0c]
je 0x5b5407
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0xf
push ebx
call eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x9bed28]
mov dword [0x9feb0c], ecx
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [0x9feb18]
je 0x5b5435
mov edx, dword [ebx]
mov eax, dword [edx + 0xe4]
push ecx
push 0x1b
push ebx
call eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov ebx, dword [0x9bed28]
mov dword [0x9feb18], ecx
cmp eax, dword [0x9feb1c]
je 0x5b550d
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0xe4]
push 0x3c
push ebx
call eax
mov eax, dword [esp + 0x60]
movzx ecx, al
mov dword [esp + 0x10], ecx
mov edx, eax
shr edx, 8
fild dword [esp + 0x10]
and edx, 0xff
fld qword [0x881b70]
mov dword [esp + 0x10], edx
mov ecx, eax
fdiv st(1), st(0)
shr ecx, 0x10
and ecx, 0xff
mov dword [0x9feb1c], eax
shr eax, 0x18
test eax, eax
fxch st(1)
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fdiv st(1)
fstp dword [esp + 0x24]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fdiv st(1)
fstp dword [esp + 0x28]
fild dword [esp + 0x10]
jge 0x5b54b8
fadd dword [0x879ef8]
cmp dword [0xa05cc4], 0
fdivrp st(1)
fstp dword [esp + 0x2c]
je 0x5b54f3
cmp dword [0xa8f830], 0
je 0x5b54da
push 0
call fcn.0057dbd8
add esp, 4
mov eax, dword [0x9bed28]
mov edx, dword [eax]
mov edx, dword [edx + 0x1b4]
push 1
lea ecx, [esp + 0x24]
push ecx
push 5
push eax
call edx
push 0x10
lea eax, [esp + 0x24]
push eax
push 0xa8f614
call fcn.0057bde2
mov ebx, dword [0x9bed28]
add esp, 0xc
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
je 0x5b553b
cmp eax, dword [0x9feb20]
je 0x5b553b
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xe4]
push eax
push 0x13
push ebx
call edx
mov eax, dword [esp + 0x64]
mov ebx, dword [0x9bed28]
mov dword [0x9feb20], eax
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x5b5569
cmp eax, dword [0x9feb24]
je 0x5b5569
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xe4]
push eax
push 0x14
push ebx
call edx
mov eax, dword [esp + 0x68]
mov ebx, dword [0x9bed28]
mov dword [0x9feb24], eax
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
je 0x5b559a
cmp eax, dword [0x9feb28]
je 0x5b559a
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xe4]
push eax
push 0xab
push ebx
call edx
mov eax, dword [esp + 0x6c]
mov ebx, dword [0x9bed28]
mov dword [0x9feb28], eax
xor ebp, ebp
cmp dword [esp + 0x14], ebp
jle 0x5b578d
mov esi, dword [esp + 0x18]
add esi, 4
mov edi, 0x9feb38
cmp ebp, 2
jl 0x5b55c9
cmp word [esi - 0xc], 1
jne 0x5b55c9
cmp dword [esp + 0x1c], 0
je 0x5b578d
mov eax, dword [esp + ebp*4 + 0x30]
cmp eax, dword [edi - 8]
je 0x5b55ec
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x104]
push eax
push ebp
push ebx
call edx
mov eax, dword [esp + ebp*4 + 0x30]
mov dword [edi - 8], eax
mov ebx, dword [0x9bed28]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x5b5612
cmp eax, dword [edi - 4]
je 0x5b5612
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x10c]
push eax
push 0xb
push ebp
push ebx
call edx
mov eax, dword [esi]
mov dword [edi - 4], eax
mov ebx, dword [0x9bed28]
cmp dword [esp + 0x1c], 0
jne 0x5b577a
cmp dword [0x9bed34], 0
je 0x5b565a
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x5b565a
cmp eax, dword [edi]
je 0x5b565a
mov ecx, dword [ebx]
xor edx, edx
test eax, eax
mov eax, dword [ecx + 0x10c]
setne dl
lea edx, [edx*4 + 1]
push edx
push 0x1c
push ebp
push ebx
call eax
mov ecx, dword [esi + 4]
mov dword [edi], ecx
mov ebx, dword [0x9bed28]
movzx eax, word [esi + 0xc]
cmp ax, 0xffff
je 0x5b568a
cmp ax, word [edi + 8]
je 0x5b568a
mov edx, dword [ebx]
mov ecx, dword [edx + 0x10c]
movsx eax, ax
push eax
push 4
push ebp
push ebx
call ecx
mov dx, word [esi + 0xc]
mov word [edi + 8], dx
mov ebx, dword [0x9bed28]
movzx eax, word [esi + 8]
cmp ax, 0xffff
je 0x5b56ba
cmp ax, word [edi + 4]
je 0x5b56ba
mov ecx, dword [ebx]
movsx edx, ax
mov eax, dword [ecx + 0x10c]
push edx
push 5
push ebp
push ebx
call eax
mov cx, word [esi + 8]
mov word [edi + 4], cx
mov ebx, dword [0x9bed28]
movzx eax, word [esi + 0xa]
cmp ax, 0xffff
je 0x5b56ea
cmp ax, word [edi + 6]
je 0x5b56ea
mov edx, dword [ebx]
mov ecx, dword [edx + 0x10c]
movsx eax, ax
push eax
push 6
push ebp
push ebx
call ecx
mov dx, word [esi + 0xa]
mov word [edi + 6], dx
mov ebx, dword [0x9bed28]
movzx eax, word [esi + 0x12]
cmp ax, 0xffff
je 0x5b571a
cmp ax, word [edi + 0xe]
je 0x5b571a
mov ecx, dword [ebx]
movsx edx, ax
mov eax, dword [ecx + 0x10c]
push edx
push 1
push ebp
push ebx
call eax
mov cx, word [esi + 0x12]
mov word [edi + 0xe], cx
mov ebx, dword [0x9bed28]
movzx eax, word [esi + 0xe]
cmp ax, 0xffff
je 0x5b574a
cmp ax, word [edi + 0xa]
je 0x5b574a
mov edx, dword [ebx]
mov ecx, dword [edx + 0x10c]
movsx eax, ax
push eax
push 2
push ebp
push ebx
call ecx
mov dx, word [esi + 0xe]
mov word [edi + 0xa], dx
mov ebx, dword [0x9bed28]
movzx eax, word [esi + 0x10]
cmp ax, 0xffff
je 0x5b577a
cmp ax, word [edi + 0xc]
je 0x5b577a
mov ecx, dword [ebx]
movsx edx, ax
mov eax, dword [ecx + 0x10c]
push edx
push 3
push ebp
push ebx
call eax
mov cx, word [esi + 0x10]
mov word [edi + 0xc], cx
mov ebx, dword [0x9bed28]
add ebp, 1
add esi, 0x18
add edi, 0x18
cmp ebp, dword [esp + 0x14]
jl 0x5b55b2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x124
ret