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

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffff58
mov ebx, eax
xor eax, eax
mov al, byte [ebx + 0xe6]
mov dword [esp], eax
test byte [ebx + 0x31], 1
je case.0x5be8c7.0
test byte [ebx + 0x31], 0x10
je case.0x5be8c7.0
test byte [esp], 2
jne 0x5be9b9
xor edx, edx
mov dl, byte [ebx + 0xe7]
cmp edx, 0x10
ja case.0x5be8c7.0
mov dl, byte [edx + 0x5be8ce]
jmp dword [edx*4 + 0x5be8df]
mov cx, word [ebx + 0x100]
mov eax, ecx
shl ecx, 8
sub ecx, eax
mov word [ebx + 0x100], cx
mov dx, word [ebx + 0x100]
mov word [ebx + 0xfe], dx
mov word [ebx + 0xfc], dx
mov word [ebx + 0xfa], dx
jmp case.0x5be8c7.0
mov ax, word [ebx + 0x100]
mov ecx, eax
shl eax, 4
add eax, ecx
lea eax, [eax + eax*4]
mov word [ebx + 0x100], ax
mov ax, word [ebx + 0x100]
mov word [ebx + 0xfe], ax
mov word [ebx + 0xfc], ax
mov word [ebx + 0xfa], ax
jmp case.0x5be8c7.0
mov dx, word [ebx + 0x100]
mov ecx, edx
shl edx, 4
add edx, ecx
mov word [ebx + 0x100], dx
mov ax, word [ebx + 0x100]
mov word [ebx + 0xfe], ax
mov word [ebx + 0xfc], ax
mov word [ebx + 0xfa], ax
jmp case.0x5be8c7.0
mov dx, word [ebx + 0x100]
mov word [ebx + 0xfe], dx
mov word [ebx + 0xfc], dx
mov word [ebx + 0xfa], dx
jmp case.0x5be8c7.0
mov eax, dword [esp]
cmp eax, 3
jne case.0x5be8c7.0
xor ecx, ecx
mov cl, byte [ebx + 0xf8]
lea eax, [ecx + ecx*2]
mov edx, dword [ebx + 0xd4]
xor ecx, ecx
mov cl, byte [edx + eax]
mov word [ebx + 0xfa], cx
xor eax, eax
mov al, byte [ebx + 0xf8]
lea edx, [eax + eax*2]
mov ecx, dword [ebx + 0xd4]
xor eax, eax
mov al, byte [ecx + edx + 1]
mov word [ebx + 0xfc], ax
xor edx, edx
mov dl, byte [ebx + 0xf8]
lea ecx, [edx + edx*2]
mov eax, dword [ebx + 0xd4]
xor edx, edx
mov dl, byte [eax + ecx + 2]
mov word [ebx + 0xfe], dx
test byte [ebx + 0x32], 8
je case.0x5be8c7.0
test byte [ebx + 0x31], 0x10
jne case.0x5be8c7.0
movzx ecx, word [ebx + 0xda]
mov dword [esp + 8], ecx
xor eax, eax
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp edx, ecx
jge case.0x5be8c7.0
mov eax, dword [ebx + 0x148]
mov edx, dword [esp + 4]
mov cl, 0xff
mov al, byte [eax + edx]
sub cl, al
mov edx, dword [ebx + 0x148]
mov eax, dword [esp + 4]
mov byte [edx + eax], cl
inc dword [esp + 4]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp edx, ecx
jl 0x5bea47
mov eax, dword [ebx + 0xf8]
mov dword [ebx + 0x102], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebx + 0x106], eax
mov ax, word [ebx + 0x100]
mov word [ebx + 0x10a], ax
mov edx, dword [esp]
cmp edx, 3
jne 0x5beb17
cmp word [ebx + 0xda], 0
je 0x5beb17
fld dword [ebx + 0x120]
fmul dword [ebx + 0x11c]
fsub dword [0x5bf670]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b430c
add esp, 8
fcomp qword [0x5bf674]
fnstsw ax
sahf
jae 0x5beb17
xor edx, edx
mov dword [esp + 0xc], edx
xor edx, edx
mov eax, dword [ebx + 0x148]
jmp 0x5beafd
mov cl, byte [eax]
test cl, cl
je 0x5beafb
cmp cl, 0xff
je 0x5beafb
mov dword [esp + 0xc], 1
inc edx
inc eax
movzx ecx, word [ebx + 0xda]
cmp edx, ecx
jl 0x5beae8
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5beb17
and dword [ebx + 0x30], 0xffffdfff
test dword [ebx + 0x30], 0x602000
je 0x5bf3fc
mov eax, ebx
call fcn.005c2f14
test byte [ebx + 0x30], 0x80
je 0x5bf393
mov edx, dword [esp]
cmp edx, 3
jne 0x5bf046
mov ecx, dword [ebx + 0xd4]
mov dword [esp + 0x18], ecx
movzx eax, word [ebx + 0xd8]
mov dword [esp + 0x1c], eax
mov dl, byte [ebx + 0xf0]
cmp dl, 2
jne 0x5bebde
movzx ecx, word [ebx + 0xfa]
mov eax, dword [ebx + 0x124]
mov dl, byte [eax + ecx]
mov byte [esp + 0x10], dl
movzx ecx, word [ebx + 0xfc]
mov eax, dword [ebx + 0x124]
mov dl, byte [eax + ecx]
mov byte [esp + 0x11], dl
movzx ecx, word [ebx + 0xfe]
mov eax, dword [ebx + 0x124]
mov dl, byte [eax + ecx]
mov byte [esp + 0x12], dl
movzx ecx, word [ebx + 0xfa]
mov eax, dword [ebx + 0x12c]
mov dl, byte [eax + ecx]
mov byte [esp + 0x13], dl
movzx ecx, word [ebx + 0xfc]
mov eax, dword [ebx + 0x12c]
mov dl, byte [eax + ecx]
mov byte [esp + 0x14], dl
movzx ecx, word [ebx + 0xfe]
mov eax, dword [ebx + 0x12c]
mov dl, byte [eax + ecx]
mov byte [esp + 0x15], dl
jmp 0x5bee56
mov cl, byte [ebx + 0xf0]
dec cl
je 0x5bebf2
dec cl
je 0x5bec0c
dec cl
je 0x5bec34
jmp 0x5bec5c
fld dword [ebx + 0x120]
fstp qword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x3ff00000
jmp 0x5bec78
fld dword [0x5bf670]
fdiv dword [ebx + 0x11c]
fstp qword [esp + 0x20]
fld dword [ebx + 0x11c]
fmul dword [ebx + 0x120]
fdivr dword [0x5bf670]
fstp qword [esp + 0x28]
jmp 0x5bec78
fld dword [0x5bf670]
fdiv dword [ebx + 0xf4]
fstp qword [esp + 0x20]
fld dword [ebx + 0xf4]
fmul dword [ebx + 0x120]
fdivr dword [0x5bf670]
fstp qword [esp + 0x28]
jmp 0x5bec78
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0x3ff00000
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], 0x3ff00000
fld qword [esp + 0x28]
fsub dword [0x5bf670]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b430c
add esp, 8
fcomp qword [0x5bf674]
fnstsw ax
sahf
jae 0x5becbe
mov dl, byte [ebx + 0xfa]
mov byte [esp + 0x10], dl
mov cl, byte [ebx + 0xfc]
mov byte [esp + 0x11], cl
mov al, byte [ebx + 0xfe]
mov byte [esp + 0x12], al
jmp 0x5bed84
push dword [esp + 0x2c]
push dword [esp + 0x2c]
movzx ecx, word [ebx + 0xfa]
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
fld xword [0x5bf67c]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul dword [0x5bf688]
fadd dword [0x5bf68c]
call fcn.005b4410
mov byte [esp + 0x10], al
push dword [esp + 0x2c]
push dword [esp + 0x2c]
movzx ecx, word [ebx + 0xfc]
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
fld xword [0x5bf67c]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul dword [0x5bf688]
fadd dword [0x5bf68c]
call fcn.005b4410
mov byte [esp + 0x11], al
push dword [esp + 0x2c]
push dword [esp + 0x2c]
movzx ecx, word [ebx + 0xfe]
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fld xword [0x5bf67c]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul dword [0x5bf688]
fadd dword [0x5bf68c]
call fcn.005b4410
mov byte [esp + 0x12], al
push dword [esp + 0x24]
push dword [esp + 0x24]
movzx ecx, word [ebx + 0xfa]
mov dword [esp + 0x7c], ecx
fild dword [esp + 0x7c]
fld xword [0x5bf67c]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul dword [0x5bf688]
fadd dword [0x5bf68c]
call fcn.005b4410
mov byte [esp + 0x13], al
push dword [esp + 0x24]
push dword [esp + 0x24]
movzx ecx, word [ebx + 0xfc]
mov dword [esp + 0x80], ecx
fild dword [esp + 0x80]
fld xword [0x5bf67c]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul dword [0x5bf688]
fadd dword [0x5bf68c]
call fcn.005b4410
mov byte [esp + 0x14], al
push dword [esp + 0x24]
push dword [esp + 0x24]
movzx ecx, word [ebx + 0xfe]
mov dword [esp + 0x84], ecx
fild dword [esp + 0x84]
fld xword [0x5bf67c]
fmulp st(1)
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul dword [0x5bf688]
fadd dword [0x5bf68c]
call fcn.005b4410
mov byte [esp + 0x15], al
xor esi, esi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp esi, edx
jge 0x5bf592
movzx ecx, word [ebx + 0xda]
cmp esi, ecx
jge 0x5bf000
mov edx, dword [ebx + 0x148]
mov cl, byte [edx + esi]
cmp cl, 0xff
je 0x5bf000
mov edx, dword [ebx + 0x148]
mov cl, byte [edx + esi]
test cl, cl
jne 0x5beeaa
mov dx, word [esp + 0x10]
mov word [eax], dx
mov dl, byte [esp + 0x12]
mov byte [eax + 2], dl
jmp 0x5bf031
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebx + 0x12c]
mov cl, byte [edx + ecx]
mov edx, dword [ebx + 0x148]
and ecx, 0xff
movzx ecx, cx
movzx edx, byte [edx + esi]
movzx edx, dx
imul edx, ecx
mov ecx, dword [ebx + 0x148]
mov di, 0xff
movzx ecx, byte [ecx + esi]
sub di, cx
movzx ecx, di
movzx edi, byte [esp + 0x13]
movzx edi, di
imul ecx, edi
add dx, cx
add dx, 0x80
movzx ecx, dx
movzx edx, dx
sar edx, 8
add ecx, edx
sar ecx, 8
mov byte [esp + 0x30], cl
xor edx, edx
mov dl, byte [esp + 0x30]
mov ecx, dword [ebx + 0x128]
mov dl, byte [ecx + edx]
mov byte [eax], dl
xor ecx, ecx
mov cl, byte [eax + 1]
mov edx, dword [ebx + 0x12c]
mov cl, byte [edx + ecx]
mov edx, dword [ebx + 0x148]
and ecx, 0xff
movzx ecx, cx
movzx edx, byte [edx + esi]
movzx edx, dx
imul edx, ecx
mov ecx, dword [ebx + 0x148]
mov di, 0xff
movzx ecx, byte [ecx + esi]
sub di, cx
movzx ecx, di
movzx edi, byte [esp + 0x14]
movzx edi, di
imul ecx, edi
add dx, cx
add dx, 0x80
movzx ecx, dx
movzx edx, dx
sar edx, 8
add ecx, edx
sar ecx, 8
mov byte [esp + 0x30], cl
xor edx, edx
mov dl, byte [esp + 0x30]
mov ecx, dword [ebx + 0x128]
mov dl, byte [ecx + edx]
mov byte [eax + 1], dl
xor ecx, ecx
mov cl, byte [eax + 2]
mov edx, dword [ebx + 0x12c]
mov cl, byte [edx + ecx]
mov edx, dword [ebx + 0x148]
and ecx, 0xff
movzx ecx, cx
movzx edx, byte [edx + esi]
movzx edx, dx
imul edx, ecx
mov ecx, dword [ebx + 0x148]
mov di, 0xff
movzx ecx, byte [ecx + esi]
sub di, cx
movzx ecx, di
movzx edi, byte [esp + 0x15]
movzx edi, di
imul ecx, edi
add dx, cx
add dx, 0x80
movzx ecx, dx
movzx edx, dx
sar edx, 8
add ecx, edx
sar ecx, 8
mov byte [esp + 0x30], cl
xor edx, edx
mov dl, byte [esp + 0x30]
mov ecx, dword [ebx + 0x128]
mov dl, byte [ecx + edx]
mov byte [eax + 2], dl
jmp 0x5bf031
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebx + 0x124]
mov cl, byte [edx + ecx]
mov byte [eax], cl
xor edx, edx
mov dl, byte [eax + 1]
mov ecx, dword [ebx + 0x124]
mov dl, byte [ecx + edx]
mov byte [eax + 1], dl
xor ecx, ecx
mov cl, byte [eax + 2]
mov edx, dword [ebx + 0x124]
mov cl, byte [edx + ecx]
mov byte [eax + 2], cl
inc esi
add eax, 3
mov edx, dword [esp + 0x1c]
cmp esi, edx
jl 0x5bee68
jmp 0x5bf592
mov cl, byte [ebx + 0xe7]
mov eax, 1
shl eax, cl
dec eax
xor edx, edx
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x84], eax
xor ecx, ecx
fild qword [esp + 0x80]
fstp qword [esp + 0x34]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 0x3ff00000
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0x3ff00000
mov al, byte [ebx + 0xf0]
dec al
je 0x5bf09f
dec al
je 0x5bf0b9
dec al
je 0x5bf0e1
jmp 0x5bf107
fld dword [ebx + 0x120]
fstp qword [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], 0x3ff00000
jmp 0x5bf107
fld dword [0x5bf670]
fdiv dword [ebx + 0x11c]
fstp qword [esp + 0x3c]
fld dword [ebx + 0x11c]
fmul dword [ebx + 0x120]
fdivr dword [0x5bf670]
fstp qword [esp + 0x44]
jmp 0x5bf107
fld dword [0x5bf670]
fdiv dword [ebx + 0xf4]
fstp qword [esp + 0x3c]
fld dword [ebx + 0xf4]
fmul dword [ebx + 0x120]
fdivr dword [0x5bf670]
fstp qword [esp + 0x44]
push dword [esp + 0x40]
push dword [esp + 0x40]
movzx eax, word [ebx + 0x100]
mov dword [esp + 0x90], eax
fild dword [esp + 0x90]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0x10a], ax
push dword [esp + 0x48]
push dword [esp + 0x48]
movzx ecx, word [ebx + 0x100]
mov dword [esp + 0x94], ecx
fild dword [esp + 0x94]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0x100], ax
mov si, word [ebx + 0xfa]
cmp si, word [ebx + 0xfc]
jne 0x5bf1b7
cmp si, word [ebx + 0xfe]
jne 0x5bf1b7
cmp si, word [ebx + 0x100]
je 0x5bf356
push dword [esp + 0x40]
push dword [esp + 0x40]
movzx edx, si
mov dword [esp + 0x98], edx
fild dword [esp + 0x98]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0x104], ax
push dword [esp + 0x40]
push dword [esp + 0x40]
movzx ecx, word [ebx + 0xfc]
mov dword [esp + 0x9c], ecx
fild dword [esp + 0x9c]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0x106], ax
push dword [esp + 0x40]
push dword [esp + 0x40]
movzx ecx, word [ebx + 0xfe]
mov dword [esp + 0xa0], ecx
fild dword [esp + 0xa0]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0x108], ax
push dword [esp + 0x48]
push dword [esp + 0x48]
movzx ecx, word [ebx + 0xfa]
mov dword [esp + 0xa4], ecx
fild dword [esp + 0xa4]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0xfa], ax
push dword [esp + 0x48]
push dword [esp + 0x48]
movzx ecx, word [ebx + 0xfc]
mov dword [esp + 0xa8], ecx
fild dword [esp + 0xa8]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0xfc], ax
push dword [esp + 0x48]
push dword [esp + 0x48]
movzx ecx, word [ebx + 0xfe]
mov dword [esp + 0xac], ecx
fild dword [esp + 0xac]
fdiv qword [esp + 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
call fcn.005b4350
add esp, 0x10
fmul qword [esp + 0x34]
fadd dword [0x5bf68c]
call fcn.005b4410
mov word [ebx + 0xfe], ax
jmp 0x5bf592
mov dx, word [ebx + 0x10a]
mov word [ebx + 0x108], dx
mov word [ebx + 0x106], dx
mov word [ebx + 0x104], dx
mov ax, word [ebx + 0x100]
mov word [ebx + 0xfe], ax
mov word [ebx + 0xfc], ax
mov word [ebx + 0xfa], ax
jmp 0x5bf592
mov edx, dword [esp]
cmp edx, 3
jne 0x5bf592
mov ecx, dword [ebx + 0xd4]
mov dword [esp + 0x4c], ecx
movzx esi, word [ebx + 0xd8]
xor edx, edx
mov eax, dword [esp + 0x4c]
cmp esi, edx
jle 0x5bf592
xor ecx, ecx
mov edi, dword [ebx + 0x124]
mov cl, byte [eax]
inc edx
mov cl, byte [edi + ecx]
mov byte [eax], cl
xor ecx, ecx
mov cl, byte [eax + 1]
mov edi, dword [ebx + 0x124]
mov cl, byte [edi + ecx]
mov byte [eax + 1], cl
xor ecx, ecx
mov cl, byte [eax + 2]
mov edi, dword [ebx + 0x124]
mov cl, byte [edi + ecx]
mov byte [eax + 2], cl
add eax, 3
cmp esi, edx
jg 0x5bf3be
jmp 0x5bf592
test byte [ebx + 0x30], 0x80
je 0x5bf592
mov eax, dword [esp]
cmp eax, 3
jne 0x5bf592
movzx edx, word [ebx + 0xda]
mov dword [esp + 0x50], edx
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0x58], eax
mov dl, byte [ebx + 0xfa]
mov byte [esp + 0x54], dl
mov cl, byte [ebx + 0xfc]
mov byte [esp + 0x55], cl
mov al, byte [ebx + 0xfe]
mov byte [esp + 0x56], al
xor edx, edx
mov ecx, dword [esp + 0x58]
mov eax, ecx
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jge 0x5bf592
mov ecx, dword [ebx + 0x148]
mov cl, byte [ecx + edx]
test cl, cl
jne 0x5bf47a
mov cx, word [esp + 0x54]
mov word [eax], cx
mov cl, byte [esp + 0x56]
mov byte [eax + 2], cl
jmp 0x5bf582
mov ecx, dword [ebx + 0x148]
mov cl, byte [ecx + edx]
cmp cl, 0xff
je 0x5bf582
mov ecx, dword [ebx + 0x148]
mov di, 0xff
movzx esi, byte [ecx + edx]
xor ecx, ecx
movzx esi, si
mov cl, byte [eax]
movzx ecx, cx
imul esi, ecx
mov ecx, dword [ebx + 0x148]
movzx ecx, byte [ecx + edx]
sub di, cx
movzx ecx, di
movzx edi, byte [esp + 0x54]
movzx edi, di
imul ecx, edi
add si, cx
add si, 0x80
movzx ecx, si
movzx esi, si
sar esi, 8
add ecx, esi
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [ebx + 0x148]
mov di, 0xff
movzx esi, byte [ecx + edx]
xor ecx, ecx
movzx esi, si
mov cl, byte [eax + 1]
movzx ecx, cx
imul esi, ecx
mov ecx, dword [ebx + 0x148]
movzx ecx, byte [ecx + edx]
sub di, cx
movzx ecx, di
movzx edi, byte [esp + 0x55]
movzx edi, di
imul ecx, edi
add si, cx
add si, 0x80
movzx ecx, si
movzx esi, si
sar esi, 8
add ecx, esi
sar ecx, 8
mov byte [eax + 1], cl
mov ecx, dword [ebx + 0x148]
movzx esi, byte [eax + 2]
movzx ecx, byte [ecx + edx]
movzx ecx, cx
movzx esi, si
imul ecx, esi
mov esi, dword [ebx + 0x148]
mov di, 0xff
movzx esi, byte [esi + edx]
sub di, si
movzx esi, di
movzx edi, byte [esp + 0x56]
movzx edi, di
imul esi, edi
add cx, si
add cx, 0x80
mov word [esp + 0x5c], cx
movzx esi, word [esp + 0x5c]
movzx ecx, word [esp + 0x5c]
sar esi, 8
add ecx, esi
sar ecx, 8
mov byte [eax + 2], cl
inc edx
add eax, 3
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jl 0x5bf459
test byte [ebx + 0x30], 8
je 0x5bf666
mov eax, dword [esp]
cmp eax, 3
jne 0x5bf666
mov dx, word [ebx + 0xd8]
xor eax, eax
mov word [esp + 0x5e], dx
mov esi, 8
mov al, byte [ebx + 0x13c]
mov edx, 8
sub esi, eax
xor eax, eax
mov al, byte [ebx + 0x13d]
xor ecx, ecx
sub edx, eax
mov eax, 8
mov dword [esp + 0x60], edx
mov cl, byte [ebx + 0x13e]
sub eax, ecx
test esi, esi
mov dword [esp + 0x64], eax
jl 0x5bf5f2
cmp esi, 8
jle 0x5bf5f4
xor esi, esi
mov eax, dword [esp + 0x60]
test eax, eax
jl 0x5bf605
mov edx, dword [esp + 0x60]
cmp edx, 8
jle 0x5bf60b
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x64]
test eax, eax
jl 0x5bf61c
mov edx, dword [esp + 0x64]
cmp edx, 8
jle 0x5bf622
xor ecx, ecx
mov dword [esp + 0x64], ecx
xor eax, eax
cmp ax, word [esp + 0x5e]
jae 0x5bf666
movzx edx, ax
mov ecx, dword [ebx + 0xd4]
inc eax
lea edx, [edx + edx*2]
lea edi, [ecx + edx]
mov ecx, esi
shr byte [edi], cl
mov ecx, dword [ebx + 0xd4]
lea edi, [ecx + edx + 1]
mov ecx, dword [esp + 0x60]
shr byte [edi], cl
mov ecx, dword [ebx + 0xd4]
lea edx, [ecx + edx + 2]
mov ecx, dword [esp + 0x64]
shr byte [edx], cl
cmp ax, word [esp + 0x5e]
jb 0x5bf62b
add esp, 0xa8
pop edi
pop esi
pop ebx
ret
or ah, byte ds:[eax]
and byte [eax + edi*2], bh
popal
jo 0x8b8ba9
inc ebx
jb 0x8b8bd7
popal
je 0x8b8bda
inc esp
popal
je 0x8b8bde
xor dh, byte ds:[eax]
xor byte [ebp + 0x312d3031], dh
xor eax, 0x3a383154
xor al, 0x37
cmp dh, byte [esp + esi]
sub esi, dword [eax]
aaa
cmp dh, byte [eax]
xor byte [edi + ebp], bh
js 0x8b8bf8
jo 0x8b8bd3
inc ebx
jb 0x8b8c01
popal
je 0x8b8c04
inc esp
popal
je 0x8b8c08
or ah, byte ds:[eax]
and byte [eax + edi*2], bh
popal
jo 0x8b8be6
dec ebp
outsd dx, dword [esi]
imul esp, dword fs:[esi + 0x79], 0x65746144
xor dh, byte ds:[eax]
xor byte [ebp + 0x312d3031], dh
xor eax, 0x3a383154
xor al, 0x37
cmp dh, byte [esp + esi]
sub esi, dword [eax]
aaa
cmp dh, byte [eax]
xor byte [edi + ebp], bh
js 0x8b8c35
popal
jo 0x8b8c10
dec ebp
outsd dx, dword [esi]
imul esp, dword fs:[esi + 0x79], 0x65746144
jns 0x8b8c21
popal
je 0x8b8c45
or ah, byte ds:[eax]
and byte [eax + edi*2], bh
popal
jo 0x8b8c23
dec ebp
je 0x8b8c4e
popal
je 0x8b8c52
inc esp
popal
je 0x8b8c5a
xor dh, byte ds:[eax]
xor byte [ebp + 0x312d3031], dh
xor eax, 0x3a383154
xor dword [eax], edi
cmp dh, byte [edi + esi]
xor al, 0x37
cmp dh, byte [esp + esi]
sub esi, dword [eax]
aaa
xor al, 0x2b
xor byte [edi], dh
cmp dh, byte [eax]
xor byte [edi + ebp], bh
das
js 0x8b8c74
jo 0x8b8c4f
dec ebp
je 0x8b8c7a
popal
je 0x8b8c7e
inc esp
popal
je 0x8b8c86
or ah, byte ds:[eax]
and byte [eax + edi*2], bh
and byte [eax], ah
cmp al, 0x78
popal
jo 0x8b8c64
inc ebx
jb 0x8b8c92
popal
je 0x8b8c9f
jb 0x8b8c86
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
inc ecx
outsd dx, dword fs:[esi]
bound esp, qword [ebp + 0x20]
push eax
push 0x736f746f
push 0x4320706f
push ebx
and byte [ebx + 0x53], al
and byte [edi + 0x69], dl
outsb dx, byte [esi]
outsd dx, dword fs:[esi]
ja 0x8b8cc3
jae 0x8b8c8d
cmp al, 0x2f
das
js 0x8b8cb5
jo 0x8b8c90
inc ebx
jb 0x8b8cbe
popal
je 0x8b8ccb
jb 0x8b8cb2
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
or ah, byte ds:[eax]
cmp al, 0x2f
jb 0x8b8ccc
cmp al, byte [ebp + 0x73]
arpl word [edx + 0x69], si
jo 0x8b8ce6
imul ebp, dword [edi + 0x6e], 0x200a0a3e
cmp al, 0x72
outsb dx, byte [esi]
or cl, byte ds:[edx]
and byte [edx + esi*2], bh
jb 0x8b8ce0
cmp al, byte fs:[ebp + 0x73]
cmp al, byte [ebp + 0x73]
inc esp
jae 0x8b8ce5
arpl word [edx + 0x69], si
jb 0x8b8ced
jo 0x8b8cfa
imul ebp, dword [edi + 0x6e], 0x66647220
cmp ah, byte [ecx + 0x62]
outsd dx, dword [esi]
jne 0x8b8d07
je 0x8b8cd1
cmp eax, 0x69757527
cmp bh, byte fs:[ecx]
arpl word [edi], si
xor dh, byte [edx]
daa
jne 0x8b8d0c
imul esp, dword [edx + edi + 0x39], 0x32323763
xor eax, 0x312d3536
cmp dword gs:[esi + 0x2d], esp
xor dword [ecx], esi
cmp dword fs:[0x62393139], ebp
sub eax, 0x63653361
popal
xor esp, dword [ebp + 0x63]
arpl word [edi], si
aaa
xor eax, 0x27366666
daa
or ah, byte [eax]
and byte [eax + 0x6d], bh
insd dword es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
jae 0x8b8d02
js 0x8b8d2b
jo 0x8b8d19
dec ebp
dec ebp
cmp eax, 0x74746827
jo 0x8b8d0e
je 0x8b8d43
cmp ch, byte [edi]
das
das
outsb dx, byte [esi]
jae 0x8b8d07
popal
outsd dx, dword fs:[esi]
bound esp, qword [ebp + 0x2e]
arpl word [edi + 0x6d], bp
outsd dx, dword [esi]
insd dword es:[edi], dx
das
js 0x8b8d46
jo 0x8b8d16
das
xor dword [esi], ebp
xor byte [edi], ch
insd dword es:[edi], dx
insd dword es:[edi], dx
das
daa
or ah, byte ds:[eax]
and byte [eax + edi*2], bh
popal
jo 0x8b8d45
dec ebp
cmp al, byte [edi + ebp*2 + 0x63]
jne 0x8b8d6c
inc esp
outsd dx, dword [esi]
arpl word [ebp + 0x6d], si
outsb dx, byte gs:[esi]
je 0x8b8d4c
dec ecx
inc esp
popal
outsd dx, dword fs:[esi]
outsd dx, dword [esi]
bound esp, qword [ebp + 0x3a]
outsd dx, dword fs:[esi]
outsd dx, dword [esi]
arpl word [ecx + 0x64], bp
cmp dh, byte [eax + 0x68]
outsd dx, dword [esi]
je 0x8b8d85
imul esp, dword [edx + edi + 0x70], 0x6f746f68
jae 0x8b8d80
outsd dx, dword [esi]
jo 0x8b8d55
cmp dword [ebx + 0x37], esp
xor dh, byte [edx]
xor eax, 0x312d3436
cmp dword gs:[esi + 0x2d], esp
xor dword [ecx], esi
cmp dword fs:[0x62393139], ebp
sub eax, 0x63653361
aaa
xor eax, 0x3c366666
das
js 0x8b8da4
jo 0x8b8d92
dec ebp
cmp al, byte [edi + ebp*2 + 0x63]
jne 0x8b8db9
outsb dx, byte gs:[esi]
je 0x8b8d99
inc esp
or ah, byte ds:[eax]
cmp al, 0x2f
das
jb 0x8b8dbc
cmp al, byte [ebp + 0x73]
arpl word [edx + 0x69], si
jo 0x8b8dd6
imul ebp, dword [edi + 0x6e], 0x200a0a3e
cmp al, 0x72
cmp al, byte fs:[ebp + 0x73]
cmp al, byte [ebp + 0x73]
arpl word [edx + 0x69], si
jo 0x8b8dea
imul ebp, dword [edi + 0x6e], 0x66647220
cmp ah, byte [ecx + 0x62]
outsd dx, dword [esi]
jne 0x8b8df7
cmp eax, 0x69757527
cmp bh, byte fs:[ecx]
arpl word [edi], si
xor dh, byte [edx]
jne 0x8b8dfc
imul esp, dword [edx + edi + 0x39], 0x32323763
xor eax, 0x312d3536
cmp dword gs:[esi + 0x2d], esp
xor dword [ecx], esi
cmp dword fs:[0x62393139], ebp
sub eax, 0x66396531
sub eax, 0x39643131
sub eax, 0x62393139
xor dword [ecx + edi + 0x2d], esp
cmp dword [ecx], esi
cmp dword [edx + 0x2d], esp
popal
xor esp, dword [ebp + 0x63]
sub eax, 0x63653361
arpl word gs:[edi], si
aaa
xor eax, 0x27366666
or ah, byte [eax]
and byte [eax + 0x6d], bh
insb byte es:[edi], dx
outsb dx, byte [esi]
jae 0x8b8df2
arpl word fs:[0x74746827], di
arpl word [0x74746827], di
push 0x3a707474
jo 0x8b8dfb
das
das
jo 0x8b8e3a
jb 0x8b8e33
outsd dx, dword cs:[esi]
jb 0x8b8e32
das
arpl word fs:[edi], bp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x8b8e4a
jae 0x8b8e07
das
xor dword [esi], ebp
xor dword [edi], ebp
daa
or ah, byte ds:[eax]
and byte [esp], bh
arpl word [edx], di
outsw dx, word [esi]
jb 0x8b8e56
popal
je 0x8b8e2a
imul ebp, dword [ebp + 0x61], 0x6a2f6567
jo 0x8b8e5a
invalid
push 0x70
cmp al, 0x2f
das
outsd dx, dword [esi]
cmp al, byte fs:[ebp + 0x73]
insd dword es:[edi], dx
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah