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

Disassembly:
jmp 0x5e57f0
sub esp, 0xa4
push esi
mov esi, dword [esp + 0xc8]
test esi, esi
push edi
js 0x5e5846
mov eax, esi
and eax, 0x78000000
cmp eax, 0x20000000
jne 0x5e5846
mov eax, esi
and eax, 0xffff
cmp eax, 0x28
jge 0x5e5846
mov edi, dword [eax*4 + 0xb04cd0]
test edi, edi
mov dword [esp + 0x50], edi
je 0x5e5846
mov ecx, dword [edi]
mov edx, esi
shl ecx, 0x10
and edx, 0x7ff0000
cmp ecx, edx
jne 0x5e5846
cmp dword [edi + 0x8a3cc], 1
jne 0x5e5852
pop edi
or eax, 0xffffffff
pop esi
add esp, 0xa4
ret
push ebx
mov ebx, dword [esp + 0xc8]
push 0
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x68]
push edx
push eax
push ebx
call fcn.0057e470
push 0
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0xe4]
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x98]
push eax
push ecx
push ebx
call fcn.0057e470
mov ecx, dword [esp + 0xec]
add esp, 0x30
test ecx, ecx
je 0x5e72d8
cmp byte [ecx], 0
je 0x5e72d8
push ebp
lea edx, [esp + 0x9c]
push edx
push 0xb05ba8
push esi
or eax, 0xffffffff
call fcn.005df5c0
mov ecx, dword [ebx + 0x430]
mov eax, dword [edi + 0x89e48]
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x60], ecx
xor ecx, ecx
xor ebp, ebp
add esp, 0xc
cmp dword [esp + 0x9c], ecx
mov ebx, 0xb05ba8
mov dword [esp + 0x80], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x74], ecx
jle 0x5e729a
mov ebp, dword [esp + 0xbc]
jmp 0x5e592d
mov esi, dword [esp + 0xd4]
movzx edx, word [ebx]
cmp dword [edi + edx*8 + 0x9e3c], 0
lea eax, [edi + edx*8 + 0x9e3c]
je 0x5e594a
mov esi, dword [eax + 4]
mov dword [esp + 0x30], esi
jmp 0x5e5965
push ebx
push 1
mov eax, esi
call fcn.005dd180
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x30], esi
je 0x5e72bd
cmp byte [ebx], 0x20
je 0x5e71f8
cmp word [ebx], 0x4081
je 0x5e71f8
cmp word [esi + 0xc], 0
jne 0x5e598b
cmp word [esi + 0xe], 0
je 0x5e71f8
movsx eax, word [esi + 2]
add eax, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
movsx ecx, word [esi + 4]
add ecx, ebp
mov dword [esp + 0x8c], ecx
movsx edx, word [esi + 0xc]
movsx eax, word [esi + 2]
add edx, dword [esp + 0xb8]
add eax, edx
mov dword [esp + 0x90], eax
movsx ecx, word [esi + 4]
movsx edx, word [esi + 0xe]
add ecx, ebp
add edx, ecx
cmp dword [esp + 0xd0], 0
mov dword [esp + 0x94], edx
jne 0x5e5a22
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x428]
mov edx, dword [eax + 0x42c]
lea eax, [esp + 0xa4]
mov dword [esp + 0xac], ecx
push eax
lea ecx, [esp + 0x8c]
mov dword [esp + 0xb4], edx
push ecx
jmp 0x5e5a32
mov edx, dword [esp + 0xd0]
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.0057d7aa
mov ebp, dword [esp + 0x90]
add esp, 8
cmp dword [esp + 0x90], ebp
je 0x5e71f8
mov ecx, dword [esp + 0x8c]
cmp dword [esp + 0x94], ecx
je 0x5e71f8
mov eax, dword [esi + 8]
mov esi, dword [edi + 0x89f80]
cdq
idiv esi
mov esi, dword [edi + 0x89f64]
mov ebx, eax
mov eax, esi
imul esi, edx
imul eax, ebx
cmp dword [edi + 0x8a3cc], 1
mov edx, esi
jne 0x5e5a8f
add eax, 1
add edx, 1
mov ebx, dword [esp + 0x30]
movsx esi, word [ebx + 0xc]
movsx edi, word [ebx + 0xe]
movsx ebx, word [ebx + 2]
sub ebp, ebx
sub ebp, dword [esp + 0xb8]
mov ebx, dword [esp + 0x30]
movsx ebx, word [ebx + 4]
add esi, eax
add eax, ebp
mov ebp, ecx
sub ebp, ebx
sub ebp, dword [esp + 0xbc]
mov ebx, dword [esp + 0x30]
add edi, edx
add edx, ebp
movsx ebp, word [ebx + 2]
mov ebx, dword [esp + 0x90]
sub ebx, ebp
mov ebp, dword [esp + 0x30]
movsx ebp, word [ebp + 0xc]
sub ebx, ebp
sub ebx, dword [esp + 0xb8]
add esi, ebx
mov ebx, dword [esp + 0x30]
movsx ebp, word [ebx + 4]
mov ebx, dword [esp + 0x94]
sub ebx, ebp
mov ebp, dword [esp + 0x30]
movsx ebp, word [ebp + 0xe]
sub ebx, ebp
sub ebx, dword [esp + 0xbc]
sub esi, eax
add edi, ebx
mov ebp, esi
sub edi, edx
movzx esi, di
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0xcc]
movzx esi, word [esi]
cmp esi, 8
mov dword [esp + 0x28], ebp
je 0x5e6d0c
cmp esi, 0x10
je 0x5e6233
cmp esi, 0x20
jne case.default.0x5e6293
imul ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0xcc]
imul edx, edi
add ecx, dword [esi + 0x434]
mov esi, dword [esp + 0x88]
mov ebx, edi
sub ebx, ebp
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x54]
add ebp, ebp
add ebp, ebp
sub ebx, ebp
lea esi, [ecx + esi*4]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x89e44]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx + 0x89f6c]
add ecx, edx
cmp ebx, 3
lea edx, [eax + ecx]
ja case.default.0x5e6293
jmp dword [ebx*4 + 0x5e72e4]
mov edx, dword [esp + 0x28]
mov bl, byte [esp + 0x78]
lea ecx, [ecx + eax*2]
movzx eax, byte [esp + 0x60]
add edx, edx
sub edi, edx
movzx edx, byte [esp + 0x64]
mov byte [esp + 0x12], al
movzx eax, byte [esp + 0x68]
mov byte [esp + 0x13], dl
movzx edx, byte [esp + 0x7c]
mov byte [esp + 0x17], al
movzx eax, byte [esp + 0x84]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ecx
mov byte [esp + 0x15], bl
mov byte [esp + 0x10], dl
mov byte [esp + 0x11], al
movzx edx, word [esp + 0x28]
mov dword [esp + 0x2c], edx
lea ebx, [ebx]
mov al, byte [ecx]
test al, al
je 0x5e5cd3
cmp al, 0xff
jne 0x5e5c1c
mov eax, dword [esp + 0xc4]
mov dword [esi], eax
jmp 0x5e5d2f
movzx ecx, byte [ecx + 1]
movzx eax, al
mov edx, 0x100
sub edx, eax
imul ecx, edx
xor edx, edx
sar ecx, 8
add ecx, eax
shl eax, 8
div ecx
movzx edx, byte [esi + 2]
movzx edi, byte [esp + 0x10]
mov dword [esp + 0xa0], edi
movzx edi, byte [esi + 1]
mov ebp, eax
movzx eax, bl
movzx ebx, byte [esp + 0x11]
mov dword [esp + 0x5c], ebx
movzx ebx, byte [esp + 0x12]
sub ebx, eax
imul ebx, ebp
shr ebx, 8
sub ebx, edx
add ebx, eax
mov eax, dword [esp + 0xa0]
imul ebx, ecx
shl edx, 8
and ebx, 0xffffff00
add ebx, edx
movzx edx, byte [esp + 0x13]
sub edx, eax
imul edx, ebp
shr edx, 8
sub edx, edi
add edx, eax
movzx eax, byte [esi]
imul edx, ecx
shl edi, 8
and edx, 0xffffff00
add edx, edi
movzx edi, byte [esp + 0x17]
shl ebx, 8
or ebx, edx
mov edx, dword [esp + 0x5c]
sub edi, edx
imul edi, ebp
shr edi, 8
sub edi, eax
add edi, edx
imul edi, ecx
mov ecx, dword [esp + 0x20]
shr edi, 8
add edi, eax
or ebx, edi
mov dword [esi], ebx
mov bl, byte [esp + 0x15]
jmp 0x5e5d2f
mov al, byte [ecx + 1]
test al, al
je 0x5e5d2f
cmp al, 0xff
jne 0x5e5ce9
mov eax, dword [esp + 0xc8]
mov dword [esi], eax
jmp 0x5e5d2f
movzx ebp, byte [esi + 1]
movzx edi, byte [ecx + 1]
movzx edx, byte [esp + 0x10]
movzx eax, byte [esi + 2]
sub edx, ebp
imul edx, edi
sar edx, 8
add edx, ebp
movzx ebp, bl
sub ebp, eax
imul ebp, edi
sar ebp, 8
add ebp, eax
movzx eax, byte [esi]
shl ebp, 0x10
shl edx, 8
or edx, ebp
movzx ebp, byte [esp + 0x11]
sub ebp, eax
imul ebp, edi
sar ebp, 8
add ebp, eax
or edx, ebp
mov dword [esi], edx
mov eax, dword [esp + 0x2c]
add eax, 0xffff
add ecx, 2
add esi, 4
test ax, ax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
jne 0x5e5c00
mov eax, dword [esp + 0x18]
add ecx, dword [esp + 0x1c]
add esi, dword [esp + 0x24]
add eax, 0xffff
test ax, ax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
jne 0x5e5bf1
jmp case.default.0x5e6293
movzx eax, byte [esp + 0x60]
mov cl, byte [esp + 0x64]
mov byte [esp + 0x10], al
movzx eax, byte [esp + 0x68]
mov byte [esp + 0x11], cl
mov byte [esp + 0x12], al
movzx ecx, word [esp + 0x28]
mov dword [esp + 0x2c], ecx
lea esp, [esp]
cmp byte [edx], 0xff
jne 0x5e5db0
mov eax, dword [esp + 0xc8]
mov dword [esi], eax
jmp 0x5e5df8
movzx ebp, byte [esi + 2]
movzx eax, byte [edx + 1]
movzx ebx, byte [esp + 0x10]
movzx edi, byte [esi + 1]
sub ebx, ebp
imul ebx, eax
movzx ecx, byte [esi]
sar ebx, 8
add ebx, ebp
movzx ebp, byte [esp + 0x11]
sub ebp, edi
imul ebp, eax
sar ebp, 8
add ebp, edi
movzx edi, byte [esp + 0x12]
sub edi, ecx
imul edi, eax
shl ebx, 0x10
shl ebp, 8
sar edi, 8
or ebx, ebp
add edi, ecx
or ebx, edi
mov dword [esi], ebx
mov eax, dword [esp + 0x2c]
add eax, 0xffff
add esi, 4
add edx, 1
test ax, ax
mov dword [esp + 0x2c], eax
jne 0x5e5da0
mov eax, dword [esp + 0x18]
add esi, dword [esp + 0x24]
add edx, dword [esp + 0x1c]
add eax, 0xffff
test ax, ax
mov dword [esp + 0x18], eax
jne 0x5e5d90
jmp case.default.0x5e6293
mov ebp, eax
and ebp, 0x80000007
jns 0x5e5e42
dec ebp
or ebp, 0xfffffff8
inc ebp
mov dword [esp + 0x1c], ebp
cdq
jne 0x5e6035
and edx, 7
add eax, edx
sar eax, 3
add eax, ecx
mov ecx, dword [esp + 0x28]
mov edx, ecx
and dl, 0xf
neg dl
mov ebx, ecx
sbb edx, edx
shr ebx, 4
neg ebx
and edx, 2
add ebx, ebx
mov ebp, ebx
mov ebx, dword [esp + 0x18]
sub ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0x54]
and edx, 0xfffffff0
add edx, edx
add ebp, edi
mov edi, dword [esp + 0xc4]
add edx, edx
sub ecx, edx
mov dword [esp + 0x24], ecx
movzx ecx, word [esp + 0x28]
lea esp, [esp]
movzx edx, word [eax]
test dl, dl
jns 0x5e5ea9
mov dword [esi], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 0x40
je 0x5e5ec0
mov dword [esi + 4], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 0x20
je 0x5e5ed7
mov dword [esi + 8], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 0x10
je 0x5e5eee
mov dword [esi + 0xc], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 8
je 0x5e5f05
mov dword [esi + 0x10], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 4
je 0x5e5f1c
mov dword [esi + 0x14], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 2
je 0x5e5f33
mov dword [esi + 0x18], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test dl, 1
je 0x5e5f4a
mov dword [esi + 0x1c], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x8000
je 0x5e5f64
mov dword [esi + 0x20], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x4000
je 0x5e5f7e
mov dword [esi + 0x24], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x2000
je 0x5e5f98
mov dword [esi + 0x28], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x1000
je 0x5e5fae
mov dword [esi + 0x2c], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x800
je 0x5e5fc4
mov dword [esi + 0x30], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x400
je 0x5e5fda
mov dword [esi + 0x34], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x200
je 0x5e5ff0
mov dword [esi + 0x38], edi
add ecx, 0xffff
test cx, cx
je 0x5e600f
test edx, 0x100
je 0x5e6006
mov dword [esi + 0x3c], edi
add esi, 0x40
add ecx, 0xffff
add eax, 2
test cx, cx
jne 0x5e5ea0
add esi, dword [esp + 0x24]
add ebx, 0xffff
add eax, ebp
test bx, bx
jne 0x5e5e94
jmp case.default.0x5e6293
and edx, 7
add eax, edx
sar eax, 3
add eax, ecx
mov ecx, dword [esp + 0x28]
mov edx, ecx
and dl, 7
neg dl
mov ebx, ecx
mov word [esp + 0x34], 0x80
mov word [esp + 0x36], 0x40
mov word [esp + 0x38], 0x20
mov word [esp + 0x3a], 0x10
mov word [esp + 0x3c], 8
sbb edx, edx
neg edx
sub edi, edx
and ebx, 0xfffffff8
mov edx, ecx
shr edx, 3
sub edi, edx
mov edx, dword [esp + 0x54]
add ebx, ebx
add ebx, ebx
sub edx, ebx
mov word [esp + 0x3e], 4
mov word [esp + 0x40], 2
mov word [esp + 0x42], 1
mov word [esp + 0x44], 0x8000
mov word [esp + 0x46], 0x4000
mov word [esp + 0x48], 0x2000
mov word [esp + 0x4a], 0x1000
mov word [esp + 0x4c], 0x800
mov word [esp + 0x4e], 0x400
mov word [esp + 0x50], 0x200
mov word [esp + 0x52], 0x100
mov dword [esp + 0x24], edx
movzx edx, word [esp + ebp*2 + 0x34]
mov dword [esp + 0x5c], edx
jmp 0x5e60e9
mov ecx, dword [esp + 0x28]
movzx ecx, cx
lea esp, [esp]
movzx edx, word [eax]
mov ebp, dword [esp + 0xc4]
mov ebx, edx
and ebx, dword [esp + 0x5c]
test bx, bx
je 0x5e6107
mov dword [esi], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
mov ebx, dword [esp + 0x1c]
test word [esp + ebx*2 + 0x36], dx
je 0x5e6124
mov dword [esi + 4], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
test word [esp + ebx*2 + 0x38], dx
je 0x5e613d
mov dword [esi + 8], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
test word [esp + ebx*2 + 0x3a], dx
je 0x5e6152
mov dword [esi + 0xc], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
test word [esp + ebx*2 + 0x3c], dx
je 0x5e6167
mov dword [esi + 0x10], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
test word [esp + ebx*2 + 0x3e], dx
je 0x5e617c
mov dword [esi + 0x14], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
test word [esp + ebx*2 + 0x40], dx
je 0x5e6191
mov dword [esi + 0x18], ebp
add ecx, 0xffff
test cx, cx
je 0x5e61af
test word [esp + ebx*2 + 0x42], dx
je 0x5e61a6
mov dword [esi + 0x1c], ebp
add esi, 0x20
add ecx, 0xffff
add eax, 1
test cx, cx
jne 0x5e60f0
mov ecx, dword [esp + 0x18]
add esi, dword [esp + 0x24]
add ecx, 0xffff
add eax, edi
test cx, cx
mov dword [esp + 0x18], ecx
jne 0x5e60e5
jmp case.default.0x5e6293
mov ebp, dword [esp + 0xc8]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
and ebp, 0xffffff
movzx eax, word [esp + 0x28]
mov cl, byte [edx]
test cl, cl
je 0x5e620d
test cl, 2
mov ecx, dword [esp + 0xc4]
jne 0x5e620b
mov ecx, ebp
mov dword [esi], ecx
add eax, 0xffff
add esi, 4
add edx, 1
test ax, ax
jne 0x5e61f7
add esi, dword [esp + 0x24]
add edi, 0xffff
add edx, ebx
test di, di
jne 0x5e61f2
jmp case.default.0x5e6293
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0xcc]
imul ecx, ebx
add ecx, dword [esi + 0x434]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x58]
mov edi, dword [edi + 0x89e44]
lea ecx, [ecx + esi*2]
mov esi, dword [esp + 0x80]
imul edx, esi
add edi, edx
lea edx, [eax + edi]
mov dword [esp + 0x20], edx
mov edx, esi
sub edx, ebp
mov dword [esp + 0x1c], edx
lea edx, [ebp + ebp]
sub ebx, edx
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx + 0x89f6c]
cmp ebx, 3
ja case.default.0x5e6293
jmp dword [ebx*4 + 0x5e72f4]
sub esi, edx
mov edx, dword [esp + 0xcc]
lea edi, [edi + eax*2]
mov eax, dword [edx + 0xc]
test eax, 0xf800
mov dword [esp + 0x1c], esi
je 0x5e64e3
test dword [edx + 0x10], 0x7e0
je 0x5e64e3
test byte [edx + 0x14], 0x1f
je 0x5e64e3
mov eax, dword [esp + 0x60]
sar eax, 3
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x64]
sar eax, 2
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x68]
sar eax, 3
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x78]
sar eax, 3
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x7c]
sar eax, 2
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x84]
sar eax, 3
mov byte [esp + 0x13], al
movzx eax, bp
mov dword [esp + 0x20], eax
jmp 0x5e6320
mov dl, byte [edi]
test dl, dl
je 0x5e640a
cmp dl, 0xff
jne 0x5e633f
mov dx, word [esp + 0xc4]
mov word [ecx], dx
jmp 0x5e64a4
movzx eax, word [ecx]
movzx esi, byte [edi + 1]
mov ebx, eax
shr eax, 5
and al, 0x3f
mov byte [esp + 0x17], al
mov al, byte [ecx]
and al, 0x1f
mov byte [esp + 0x14], al
movzx eax, dl
mov edx, 0x100
sub edx, eax
imul esi, edx
xor edx, edx
sar esi, 8
add esi, eax
shl eax, 8
div esi
movzx edx, byte [esp + 0x16]
movzx ebp, byte [esp + 0x11]
sub ebp, edx
shr ebx, 0xb
and bl, 0x1f
movzx edx, bl
imul ebp, eax
shr ebp, 8
sub ebp, edx
movzx edx, byte [esp + 0x16]
add ebp, edx
movzx dx, bl
imul ebp, esi
movzx ebx, byte [esp + 0x12]
shr ebp, 8
add bp, dx
movzx edx, byte [esp + 0x15]
sub ebx, edx
movzx edx, byte [esp + 0x17]
imul ebx, eax
shr ebx, 8
sub ebx, edx
movzx edx, byte [esp + 0x15]
add ebx, edx
movzx edx, byte [esp + 0x17]
imul ebx, esi
shr ebx, 8
add bx, dx
movzx edx, byte [esp + 0x13]
shl bx, 5
shl bp, 0xb
or bp, bx
movzx ebx, byte [esp + 0x10]
sub ebx, edx
imul ebx, eax
movzx eax, byte [esp + 0x14]
shr ebx, 8
sub ebx, eax
add ebx, edx
movzx edx, byte [esp + 0x14]
imul ebx, esi
shr ebx, 8
add bx, dx
jmp 0x5e649a
mov al, byte [edi + 1]
test al, al
je 0x5e64a4
cmp al, 0xff
jne 0x5e6429
mov ax, word [esp + 0xc8]
mov word [ecx], ax
jmp 0x5e64a4
movzx edx, word [ecx]
mov bl, byte [ecx]
movzx esi, byte [edi + 1]
movzx ebp, byte [esp + 0x16]
and bl, 0x1f
mov byte [esp + 0x14], bl
mov eax, edx
shr eax, 0xb
and al, 0x1f
movzx ebx, al
sub ebp, ebx
movzx ebx, byte [esp + 0x15]
imul ebp, esi
movzx ax, al
shr edx, 5
sar ebp, 8
add bp, ax
and dl, 0x3f
movzx eax, dl
sub ebx, eax
mov al, byte [esp + 0x14]
imul ebx, esi
sar ebx, 8
movzx dx, dl
add bx, dx
shl bx, 5
shl bp, 0xb
or bp, bx
movzx ebx, byte [esp + 0x13]
movzx edx, al
sub ebx, edx
imul ebx, esi
movzx ax, al
sar ebx, 8
add bx, ax
or bp, bx
mov word [ecx], bp
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add eax, 0xffff
add ecx, 2
add edi, 2
test ax, ax
mov dword [esp + 0x20], eax
jne 0x5e6320
mov eax, dword [esp + 0x18]
add ecx, dword [esp + 0x24]
add edi, dword [esp + 0x1c]
add eax, 0xffff
test ax, ax
mov dword [esp + 0x18], eax
jne 0x5e6314
jmp case.default.0x5e6293
test eax, 0x7c00
je case.default.0x5e6293
test dword [edx + 0x10], 0x3e0
je case.default.0x5e6293
test byte [edx + 0x14], 0x1f
je case.default.0x5e6293
mov eax, dword [esp + 0x60]
sar eax, 3
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x64]
sar eax, 3
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x68]
sar eax, 3
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x78]
sar eax, 3
mov byte [esp + 0x16], al
mov eax, dword [esp + 0x7c]
sar eax, 3
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x84]
sar eax, 3
mov byte [esp + 0x13], al
lea ebx, [ebx]
movzx edx, bp
mov dword [esp + 0x20], edx
jmp 0x5e6560
mov dl, byte [edi]
test dl, dl
je 0x5e6653
cmp dl, 0xff
jne 0x5e657f
mov ax, word [esp + 0xc4]
mov word [ecx], ax
jmp 0x5e66ed
movzx eax, word [ecx]
movzx esi, byte [edi + 1]
mov ebx, eax
shr eax, 5
and al, 0x1f
mov byte [esp + 0x17], al
mov al, byte [ecx]
and al, 0x1f
mov byte [esp + 0x14], al
movzx eax, dl
mov edx, 0x100
sub edx, eax
imul esi, edx
xor edx, edx
sar esi, 8
add esi, eax
shl eax, 8
div esi
movzx ebp, byte [esp + 0x15]
movzx edx, byte [esp + 0x12]
sub edx, ebp
shr ebx, 0xa
and bl, 0x1f
imul edx, eax
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x17]
shr edx, 8
sub edx, eax
movzx eax, byte [esp + 0x17]
add edx, ebp
movzx ebp, byte [esp + 0x11]
imul edx, esi
shr edx, 8
add dx, ax
movzx eax, byte [esp + 0x16]
sub ebp, eax
imul ebp, dword [esp + 0x2c]
movzx eax, bl
shr ebp, 8
sub ebp, eax
movzx eax, byte [esp + 0x16]
add ebp, eax
imul ebp, esi
movzx ax, bl
movzx ebx, byte [esp + 0x10]
shr ebp, 8
add bp, ax
movzx eax, byte [esp + 0x13]
sub ebx, eax
imul ebx, dword [esp + 0x2c]
shl bp, 0xa
shl dx, 5
shr ebx, 8
or dx, bp
movzx ebp, byte [esp + 0x14]
sub ebx, ebp
add ebx, eax
movzx eax, byte [esp + 0x14]
imul ebx, esi
shr ebx, 8
add bx, ax
or dx, bx
mov word [ecx], dx
jmp 0x5e66e9
mov al, byte [edi + 1]
test al, al
je 0x5e66ed
cmp al, 0xff
jne 0x5e6672
mov dx, word [esp + 0xc8]
mov word [ecx], dx
jmp 0x5e66ed
movzx edx, word [ecx]
mov bl, byte [ecx]
movzx esi, byte [edi + 1]
movzx ebp, byte [esp + 0x16]
and bl, 0x1f
mov byte [esp + 0x14], bl
mov eax, edx
shr eax, 0xa
and al, 0x1f
movzx ebx, al
sub ebp, ebx
movzx ebx, byte [esp + 0x15]
imul ebp, esi
movzx ax, al
shr edx, 5
sar ebp, 8
add bp, ax
and dl, 0x1f
movzx eax, dl
sub ebx, eax
mov al, byte [esp + 0x14]
imul ebx, esi
sar ebx, 8
movzx dx, dl
add bx, dx
shl bx, 5
shl bp, 0xa
or bp, bx
movzx ebx, byte [esp + 0x13]
movzx edx, al
sub ebx, edx
imul ebx, esi
movzx ax, al
sar ebx, 8
add bx, ax
or bp, bx
mov word [ecx], bp
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add eax, 0xffff
add ecx, 2
add edi, 2
test ax, ax
mov dword [esp + 0x20], eax
jne 0x5e6560
mov eax, dword [esp + 0x18]
add ecx, dword [esp + 0x24]
add edi, dword [esp + 0x1c]
add eax, 0xffff
test ax, ax
mov dword [esp + 0x18], eax
jne 0x5e6550
jmp case.default.0x5e6293
sub esi, edx
mov edx, dword [esp + 0xcc]
lea edi, [edi + eax*2]
mov eax, dword [edx + 0xc]
test eax, 0xf800
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
je 0x5e686f
test dword [edx + 0x10], 0x7e0
je 0x5e686f
test byte [edx + 0x14], 0x1f
je 0x5e686f
mov eax, dword [esp + 0x60]
sar eax, 3
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x64]
sar eax, 2
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x68]
sar eax, 3
mov byte [esp + 0x13], al
movzx edx, bp
mov dword [esp + 0x28], edx
lea ecx, [ecx]
mov al, byte [edi]
test al, al
je 0x5e6828
cmp al, 0xff
jne 0x5e67ae
mov ax, word [esp + 0xc4]
mov word [ecx], ax
jmp 0x5e6828
movzx esi, byte [edi]
movzx edx, word [ecx]
mov bl, byte [ecx]
and bl, 0x1f
mov eax, edx
shr eax, 0xb
mov byte [esp + 0x12], bl
movzx ebx, byte [esp + 0x10]
and al, 0x1f
movzx edi, al
sub ebx, edi
movzx edi, byte [esp + 0x11]
imul ebx, esi
movzx ax, al
shr edx, 5
sar ebx, 8
add bx, ax
and dl, 0x3f
movzx eax, dl
sub edi, eax
mov al, byte [esp + 0x12]
imul edi, esi
sar edi, 8
movzx dx, dl
add di, dx
shl di, 5
shl bx, 0xb
or bx, di
movzx edi, byte [esp + 0x13]
movzx edx, al
sub edi, edx
imul edi, esi
sar edi, 8
movzx ax, al
add di, ax
or bx, di
mov edi, dword [esp + 0x20]
mov word [ecx], bx
mov eax, dword [esp + 0x28]
add eax, 0xffff
add edi, 1
add ecx, 2
test ax, ax
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], eax
jne 0x5e6790
mov eax, dword [esp + 0x18]
add edi, dword [esp + 0x1c]
add ecx, dword [esp + 0x24]
add eax, 0xffff
test ax, ax
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
jne 0x5e6786
jmp case.default.0x5e6293
test eax, 0x7c00
je case.default.0x5e6293
test dword [edx + 0x10], 0x3e0
je case.default.0x5e6293
test byte [edx + 0x14], 0x1f
je case.default.0x5e6293
mov eax, dword [esp + 0x60]
sar eax, 3
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x64]
sar eax, 3
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x68]
sar eax, 3
mov byte [esp + 0x13], al
movzx edx, bp
mov dword [esp + 0x28], edx
lea esp, [esp]
mov al, byte [edi]
test al, al
je 0x5e6958
cmp al, 0xff
jne 0x5e68de
mov ax, word [esp + 0xc4]
mov word [ecx], ax
jmp 0x5e6958
movzx esi, byte [edi]
movzx edx, word [ecx]
mov bl, byte [ecx]
and bl, 0x1f
mov eax, edx
shr eax, 0xa
mov byte [esp + 0x12], bl
movzx ebx, byte [esp + 0x10]
and al, 0x1f
movzx edi, al
sub ebx, edi
movzx edi, byte [esp + 0x11]
imul ebx, esi
movzx ax, al
shr edx, 5
sar ebx, 8
add bx, ax
and dl, 0x1f
movzx eax, dl
sub edi, eax
mov al, byte [esp + 0x12]
imul edi, esi
sar edi, 8
movzx dx, dl
add di, dx
shl di, 5
shl bx, 0xa
or bx, di
movzx edi, byte [esp + 0x13]
movzx edx, al
sub edi, edx
imul edi, esi
sar edi, 8
movzx ax, al
add di, ax
or bx, di
mov edi, dword [esp + 0x20]
mov word [ecx], bx
mov eax, dword [esp + 0x28]
add eax, 0xffff
add edi, 1
add ecx, 2
test ax, ax
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], eax
jne 0x5e68c0
mov eax, dword [esp + 0x18]
add edi, dword [esp + 0x1c]
add ecx, dword [esp + 0x24]
add eax, 0xffff
test ax, ax
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
jne 0x5e68b2
jmp case.default.0x5e6293
mov ebx, eax
and ebx, 0x80000007
jns 0x5e69ae
dec ebx
or ebx, 0xfffffff8
inc ebx
cdq
jne 0x5e6b4b
and edx, 7
add eax, edx
mov edx, ebp
and dl, 0xf
sar eax, 3
add eax, edi
neg dl
mov edi, ebp
sbb edx, edx
shr edi, 4
neg edi
and edx, 2
add edi, edi
sub edi, edx
mov edx, dword [esp + 0x54]
add edi, esi
mov esi, ebp
and esi, 0xfffffff0
add esi, esi
sub edx, esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x24], edx
movzx edx, bp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x20], edx
jmp 0x5e6a00
mov edx, dword [esp + 0x20]
movzx ebx, word [eax]
test bl, bl
jns 0x5e6a0e
mov word [ecx], si
sub edx, 1
je 0x5e6b22
test bl, 0x40
je 0x5e6a20
mov word [ecx + 2], si
sub edx, 1
je 0x5e6b22
test bl, 0x20
je 0x5e6a32
mov word [ecx + 4], si
sub edx, 1
je 0x5e6b22
test bl, 0x10
je 0x5e6a44
mov word [ecx + 6], si
sub edx, 1
je 0x5e6b22
test bl, 8
je 0x5e6a56
mov word [ecx + 8], si
sub edx, 1
je 0x5e6b22
test bl, 4
je 0x5e6a68
mov word [ecx + 0xa], si
sub edx, 1
je 0x5e6b22
test bl, 2
je 0x5e6a7a
mov word [ecx + 0xc], si
sub edx, 1
je 0x5e6b22
test bl, 1
je 0x5e6a8c
mov word [ecx + 0xe], si
sub edx, 1
je 0x5e6b22
test ebx, 0x8000
je 0x5e6aa1
mov word [ecx + 0x10], si
sub edx, 1
je 0x5e6b22
test ebx, 0x4000
je 0x5e6ab6
mov word [ecx + 0x12], si
sub edx, 1
je 0x5e6b22
test ebx, 0x2000
je 0x5e6ac7
mov word [ecx + 0x14], si
sub edx, 1
je 0x5e6b22
test ebx, 0x1000
je 0x5e6ad8
mov word [ecx + 0x16], si
sub edx, 1
je 0x5e6b22
test ebx, 0x800
je 0x5e6ae9
mov word [ecx + 0x18], si
sub edx, 1
je 0x5e6b22
test ebx, 0x400
je 0x5e6afa
mov word [ecx + 0x1a], si
sub edx, 1
je 0x5e6b22
test ebx, 0x200
je 0x5e6b0b
mov word [ecx + 0x1c], si
sub edx, 1
je 0x5e6b22
test ebx, 0x100
je 0x5e6b1c
mov word [ecx + 0x1e], si
add ecx, 0x20
sub edx, 1
add eax, 2
test edx, edx
jne 0x5e6a04
add ecx, dword [esp + 0x24]
add ebp, 0xffff
add eax, edi
test bp, bp
jne 0x5e6a00
mov dword [esp + 0x18], ebp
jmp case.default.0x5e6293
and edx, 7
add eax, edx
sar eax, 3
add eax, edi
mov edx, ebp
and dl, 7
neg dl
mov edi, ebp
mov word [esp + 0x34], 0x80
mov word [esp + 0x36], 0x40
mov word [esp + 0x38], 0x20
mov word [esp + 0x3a], 0x10
mov word [esp + 0x3c], 8
sbb edx, edx
neg edx
sub esi, edx
mov edx, ebp
shr edx, 3
sub esi, edx
mov edx, dword [esp + 0x54]
and edi, 0xfffffff8
add edi, edi
sub edx, edi
mov dword [esp + 0x24], edx
movzx edx, bp
mov word [esp + 0x3e], 4
mov word [esp + 0x40], 2
mov word [esp + 0x42], 1
mov word [esp + 0x44], 0x8000
mov word [esp + 0x46], 0x4000
mov word [esp + 0x48], 0x2000
mov word [esp + 0x4a], 0x1000
mov word [esp + 0x4c], 0x800
mov word [esp + 0x4e], 0x400
mov word [esp + 0x50], 0x200
mov word [esp + 0x52], 0x100
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
movzx edi, word [eax]
movzx ebp, word [esp + ebx*2 + 0x34]
and ebp, edi
test bp, bp
mov ebp, dword [esp + 0xc4]
je 0x5e6c0e
mov word [ecx], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x36], di
je 0x5e6c22
mov word [ecx + 2], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x38], di
je 0x5e6c32
mov word [ecx + 4], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x3a], di
je 0x5e6c42
mov word [ecx + 6], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x3c], di
je 0x5e6c52
mov word [ecx + 8], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x3e], di
je 0x5e6c62
mov word [ecx + 0xa], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x40], di
je 0x5e6c72
mov word [ecx + 0xc], bp
sub edx, 1
je 0x5e6c88
test word [esp + ebx*2 + 0x42], di
je 0x5e6c82
mov word [ecx + 0xe], bp
sub edx, 1
add ecx, 0x10
add eax, 1
test edx, edx
jne 0x5e6bf5
mov edx, dword [esp + 0x18]
add ecx, dword [esp + 0x24]
add edx, 0xffff
add eax, esi
test dx, dx
mov dword [esp + 0x18], edx
jne 0x5e6bf1
jmp case.default.0x5e6293
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
movzx eax, bp
mov dl, byte [esi]
test dl, dl
je 0x5e6ce2
test dl, 2
movzx edx, word [esp + 0xc4]
jne 0x5e6cdf
movzx edx, word [esp + 0xc8]
mov word [ecx], dx
add eax, 0xffff
add ecx, 2
add esi, 1
test ax, ax
jne 0x5e6cc4
add esi, dword [esp + 0x1c]
add edi, 0xffff
add ecx, ebx
test di, di
jne 0x5e6cc1
mov dword [esp + 0x18], edi
jmp case.default.0x5e6293
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x80]
imul ecx, ebx
mov esi, dword [esp + 0xcc]
imul edx, edi
add ecx, dword [esi + 0x434]
mov esi, dword [esp + 0x58]
mov esi, dword [esi + 0x89e44]
add ecx, dword [esp + 0x88]
add esi, edx
lea edx, [eax + esi]
mov dword [esp + 0x5c], edx
mov edx, edi
sub edx, ebp
mov dword [esp + 0x1c], edx
mov edx, ebx
sub edx, ebp
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x58]
mov edx, dword [edx + 0x89f6c]
sub edx, 0
je 0x5e6dc5
sub edx, 1
jne case.default.0x5e6293
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
movzx esi, bp
jmp 0x5e6d80
mov al, byte [edx]
test al, al
je 0x5e6d9a
cmp al, 1
mov al, byte [esp + 0xc4]
je 0x5e6d98
mov al, byte [esp + 0xc8]
mov byte [ecx], al
add esi, 0xffff
add ecx, 1
add edx, 1
test si, si
jne 0x5e6d80
add ecx, dword [esp + 0x24]
add edi, 0xffff
add edx, ebx
test di, di
jne 0x5e6d78
mov dword [esp + 0x18], edi
jmp case.default.0x5e6293
mov edx, eax
and edx, 0x80000007
jns 0x5e6dd4
dec edx
or edx, 0xfffffff8
inc edx
mov dword [esp + 0x1c], edx
cdq
jne 0x5e7037
and edx, 7
add eax, edx
mov edx, ebp
and dl, 0xf
sar eax, 3
add eax, esi
neg dl
mov esi, ebp
sbb edx, edx
shr esi, 4
neg esi
and edx, 2
add esi, esi
sub esi, edx
mov edx, ebp
and edx, 0xfffffff0
sub ebx, edx
movzx edx, bp
add esi, edi
mov ebp, edx
shr ebp, 4
mov edi, ebp
shl edi, 4
sub edx, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x24], ebx
mov bl, byte [esp + 0xc4]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], edx
nop
test ebp, ebp
je 0x5e6eec
mov esi, ebp
lea ebx, [ebx]
movzx edx, word [eax]
test dl, dl
jns 0x5e6e49
mov byte [ecx], bl
test dl, 0x40
je 0x5e6e51
mov byte [ecx + 1], bl
test dl, 0x20
je 0x5e6e59
mov byte [ecx + 2], bl
test dl, 0x10
je 0x5e6e61
mov byte [ecx + 3], bl
test dl, 8
je 0x5e6e69
mov byte [ecx + 4], bl
test dl, 4
je 0x5e6e71
mov byte [ecx + 5], bl
test dl, 2
je 0x5e6e79
mov byte [ecx + 6], bl
test dl, 1
je 0x5e6e81
mov byte [ecx + 7], bl
test edx, 0x8000
je 0x5e6e8c
mov byte [ecx + 8], bl
test edx, 0x4000
je 0x5e6e97
mov byte [ecx + 9], bl
test edx, 0x2000
je 0x5e6ea2
mov byte [ecx + 0xa], bl
test edx, 0x1000
je 0x5e6ead
mov byte [ecx + 0xb], bl
test edx, 0x800
je 0x5e6eb8
mov byte [ecx + 0xc], bl
test edx, 0x400
je 0x5e6ec3
mov byte [ecx + 0xd], bl
test edx, 0x200
je 0x5e6ece
mov byte [ecx + 0xe], bl
test edx, 0x100
je 0x5e6ed9
mov byte [ecx + 0xf], bl
add ecx, 0x10
add eax, 2
sub esi, 1
jne 0x5e6e40
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x2c], 0
je 0x5e7019
mov esi, dword [esp + 0x2c]
jmp 0x5e6f00
movzx edx, word [eax]
test dl, dl
jns 0x5e6f09
mov byte [ecx], bl
sub esi, 1
je 0x5e700a
test dl, 0x40
je 0x5e6f1a
mov byte [ecx + 1], bl
sub esi, 1
je 0x5e700a
test dl, 0x20
je 0x5e6f2b
mov byte [ecx + 2], bl
sub esi, 1
je 0x5e700a
test dl, 0x10
je 0x5e6f3c
mov byte [ecx + 3], bl
sub esi, 1
je 0x5e700a
test dl, 8
je 0x5e6f4d
mov byte [ecx + 4], bl
sub esi, 1
je 0x5e700a
test dl, 4
je 0x5e6f5e
mov byte [ecx + 5], bl
sub esi, 1
je 0x5e700a
test dl, 2
je 0x5e6f6f
mov byte [ecx + 6], bl
sub esi, 1
je 0x5e700a
test dl, 1
je 0x5e6f80
mov byte [ecx + 7], bl
sub esi, 1
je 0x5e700a
test edx, 0x8000
je 0x5e6f94
mov byte [ecx + 8], bl
sub esi, 1
je 0x5e700a
test edx, 0x4000
je 0x5e6fa4
mov byte [ecx + 9], bl
sub esi, 1
je 0x5e700a
test edx, 0x2000
je 0x5e6fb4
mov byte [ecx + 0xa], bl
sub esi, 1
je 0x5e700a
test edx, 0x1000
je 0x5e6fc4
mov byte [ecx + 0xb], bl
sub esi, 1
je 0x5e700a
test edx, 0x800
je 0x5e6fd4
mov byte [ecx + 0xc], bl
sub esi, 1
je 0x5e700a
test edx, 0x400
je 0x5e6fe4
mov byte [ecx + 0xd], bl
sub esi, 1
je 0x5e700a
test edx, 0x200
je 0x5e6ff4
mov byte [ecx + 0xe], bl
sub esi, 1
je 0x5e700a
test edx, 0x100
je 0x5e7004
mov byte [ecx + 0xf], bl
add ecx, 0x10
sub esi, 1
add eax, 2
test esi, esi
jne 0x5e6f00
mov esi, dword [esp + 0x1c]
add ecx, dword [esp + 0x24]
add edi, 0xffff
add eax, esi
test di, di
jne 0x5e6e30
mov dword [esp + 0x18], edi
jmp case.default.0x5e6293
and edx, 7
add eax, edx
sar eax, 3
mov edx, ebp
and dl, 7
add eax, esi
neg dl
mov word [esp + 0x34], 0x80
mov word [esp + 0x36], 0x40
mov word [esp + 0x38], 0x20
mov word [esp + 0x3a], 0x10
mov word [esp + 0x3c], 8
mov word [esp + 0x3e], 4
sbb edx, edx
neg edx
sub edi, edx
mov edx, ebp
shr edx, 3
sub edi, edx
mov edx, ebp
and edx, 0xfffffff8
sub ebx, edx
movzx edx, bp
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1c]
mov word [esp + 0x40], 2
mov word [esp + 0x42], 1
mov word [esp + 0x44], 0x8000
mov word [esp + 0x46], 0x4000
mov word [esp + 0x48], 0x2000
mov word [esp + 0x4a], 0x1000
mov word [esp + 0x4c], 0x800
mov word [esp + 0x4e], 0x400
mov word [esp + 0x50], 0x200
mov word [esp + 0x52], 0x100
movzx edx, word [esp + edx*2 + 0x34]
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0x20]
movzx ebp, word [eax]
mov edx, dword [esp + 0x5c]
and edx, ebp
test dx, dx
je 0x5e70fb
mov dl, byte [esp + 0xc4]
mov byte [ecx], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x36], bp
je 0x5e7119
mov dl, byte [esp + 0xc4]
mov byte [ecx + 1], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x38], bp
je 0x5e7137
mov dl, byte [esp + 0xc4]
mov byte [ecx + 2], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x3a], bp
je 0x5e7155
mov dl, byte [esp + 0xc4]
mov byte [ecx + 3], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x3c], bp
je 0x5e716f
mov dl, byte [esp + 0xc4]
mov byte [ecx + 4], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x3e], bp
je 0x5e7189
mov dl, byte [esp + 0xc4]
mov byte [ecx + 5], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x40], bp
je 0x5e71a3
mov dl, byte [esp + 0xc4]
mov byte [ecx + 6], dl
sub esi, 1
je 0x5e71c3
mov edx, dword [esp + 0x1c]
test word [esp + edx*2 + 0x42], bp
je 0x5e71bd
mov dl, byte [esp + 0xc4]
mov byte [ecx + 7], dl
add ecx, 8
sub esi, 1
add eax, 1
test esi, esi
jne 0x5e70e4
mov edx, dword [esp + 0x18]
add edx, 0xffff
add eax, edi
add ecx, ebx
test dx, dx
mov dword [esp + 0x18], edx
jne 0x5e70e0
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0xd8]
add dword [esp + 0x74], 1
test edx, edx
je 0x5e7230
movsx eax, word [esi + 6]
mov ecx, dword [edi + 0x89f60]
add ecx, eax
movsx eax, word [esi + 0xc]
movsx esi, word [esi + 2]
add dword [esp + 0x6c], ecx
add eax, esi
cmp dword [esp + 0x70], eax
jge 0x5e722c
mov dword [esp + 0x70], eax
mov eax, ecx
jmp 0x5e7256
movsx eax, word [esi + 0xe]
movsx ecx, word [esi + 4]
add eax, ecx
cmp dword [esp + 0x6c], eax
jge 0x5e7244
mov dword [esp + 0x6c], eax
movsx ecx, word [esi + 6]
mov eax, dword [edi + 0x89f60]
add ecx, eax
add dword [esp + 0x70], ecx
xor eax, eax
mov ebp, dword [esp + 0xbc]
add ebp, eax
mov eax, edx
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [esp + 0x74]
add dword [esp + 0xb8], eax
add ebx, 3
cmp ecx, dword [esp + 0x9c]
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x98], ebx
jl 0x5e5926
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x5e72aa
mov dword [eax], ecx
mov dword [eax + 4], ebp
test edx, edx
mov eax, ebp
jne 0x5e72b2
mov eax, ecx
pop ebp
pop ebx
pop edi
pop esi
add esp, 0xa4
ret
push 0x8822e8
call fcn.0057a587
add esp, 4
pop ebp
pop ebx
pop edi
or eax, 0xffffffff
pop esi
add esp, 0xa4
ret
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0xa4
ret