Function at 0xb646b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
ret
insd dword es:[edi], dx
not bl
mov edx, edx
pop ecx
popfd
jo 0xb5fe49
push eax
aad 0xf2
mov edx, 0xa0db0b33
add cl, ch
ljmp 0x531a
invalid
in eax, dx
mov dword [0x7348d654], eax
invalid
push esp
salc
dec eax
jae 0xb5fe89
jnp 0xb5fe6b
invalid
jno 0xb5febb
jp 0xb5febd
stc
invalid
add dh, byte [ebp + 0xe5c096a]
jne 0xb5ff28
or ch, ah
test eax, 0xb53d3acd
jle 0xb5ff73
dec ecx
inc ebp
out 0xb9, eax
mov byte [0x21269e99], al
mov bh, 0x7b
xor byte [esi + esi*4 + 0x62ac6dbb], 0xc9
jnp 0xb5ffad
xor edx, dword [edx + 0x40fb060d]
inc edi
xor dword fs:[ebp + 0x45a97241], esi
invalid
dec ecx
or dword [eax - 0x3aa9a47a], eax
push 0x2950bdbe
ljmp 0xec9e
ja 0xb5ff7d
invalid
xor eax, 0xdd4ef44a
test al, 0xd7
test al, 0xca
jbe 0xb6004c
pmaddwd mm1, qword [eax]
mov dl, 0x48
jne 0xb60034
dec eax
shr bh, cl
jnp 0xb5ffd0
mov ah, 0xd7
xor ch, byte [ebx + 0x3838d5fb]
in eax, 0x14
mov esp, 0x6646e0e9
sar eax, cl
loopne 0xb5ffb4
stosd dword es:[edi], eax
and eax, 0xf56da051
mov eax, 0x2b5d08b5
or byte [ebp + 0x2b], bl
mov al, dh
pop esp
cwde
xor eax, 0xef8c3118
xchg edx, eax
aam 0x79
pop ss
outsb dx, byte [esi]
jle 0xb60088
aaa
mov edx, esi
out 0xca, al
mov ebx, 0x883fa7cf
call 0x2f550d65
pop edx
or dword [ebx + 0x2b3ba445], esi
jb 0xb600b3
lea esp, gs:[eax - 0x5a2a3e16]
movsx ecx, word [ebx]
and ah, byte [0x46fad541]
sbb al, 0xba
pop ebx
cmp dword [esi + 0x56], 0
sub byte [esi + 0x23], dh
test eax, 0x2cccb480
inc esi
jg 0xb600de
dec ebp
mov eax, dword [0x88809e85]
fdiv qword [ecx]
sub esp, edi
add byte [edi - 0x6517ba22], 0x40
shl byte [ecx + 0x75], cl
fldenv [edx - 0x42]
invalid
xor dword [ebx], ebp
out 0x80, eax
xchg esi, ebx
inc ebp
call 0x6288412e
jne 0xb6006f
bound edi, qword [esi - 0x62f83221]
mov ebp, 0x78a5ed51
bound edi, qword [eax]
shrd edx, ebx, 0x85
test eax, 0x2ecf687c
imul byte [ecx]
invalid
salc
inc ecx
mov ch, 0xf4
add byte [esi + 0x2e], 0xbb
imul esp, dword [esi], 0x4e
sub al, 0xba
jmp 0xb60094
ja 0xb600de
retf
test dh, ah
invalid
pop ecx
add eax, 0x78b9759e
xchg ecx, eax
lcall 0x9a4b, 0x2c1a6f53
xchg dword [ebp - 0x72486495], ecx
jbe 0xb6011d
aas
mov esp, dword [ebx]
and dl, byte [edx]
stc
xchg edi, eax
jbe 0xb600d1
scasb al, byte es:[edi]
in al, 0x35
leave
jle 0xb600c4
push eax
test eax, 0xe7e55bd8
ret
cmp al, 0x86
jb 0xb60197
adc byte [ebx + 0x6aa315d1], bh
pop eax
and al, 3
js 0xb601aa
ja 0xb6015e
sub bl, cl
sub eax, 0x9ba2f279
and byte [ebx + ebx*2 + 0x6e], ah
or eax, 0x3b855205
imul esi, ecx, 0xffffffbc
in al, dx
les edx, [esi + 0x20]
push esi
add dword [ebx], 0xffffffc5
fdivr st(0), st(0)
insd dword es:[edi], dx
popfd
mov byte [0x59956dc4], al
rcl dword [ecx - 0x7da7fa4e]
leave
sbb dword [eax - 0x28], ebx
invalid
invalid
or al, 0xfb
mov esi, esi
dec ebp
invalid
fisubr word [ebp - 0xd4e172]
fdivp st(6)
fisubr word [bp + si + 0x78]
mov eax, dword [0x43d3a98c]
popfd
or dword [esi], esi
scasb al, byte es:[edi]
retf 0x7aef
pushal
mov esi, section.UPX1
lea edi, [esi - 0x59c000]
push edi
mov ebp, esp
lea ebx, [esp - 0x3e80]
xor eax, eax
push eax
cmp esp, ebx
jne 0xb646c8
inc esi
inc esi
push ebx
push 0x762246
push edi
add ebx, 4
push ebx
push 0x1c769f
push esi
add ebx, 4
push ebx
push eax
mov dword [ebx], 0x20003
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov edx, dword [esp + 0x90]
mov dword [esp + 0x74], 0
mov byte [esp + 0x73], 0
mov ebp, dword [esp + 0x9c]
lea eax, [edx + 4]
mov dword [esp + 0x78], eax
mov eax, 1
movzx ecx, byte [edx + 2]
mov ebx, eax
shl ebx, cl
mov ecx, ebx
dec ecx
mov dword [esp + 0x6c], ecx
movzx ecx, byte [edx + 1]
shl eax, cl
dec eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa8]
movzx esi, byte [edx]
mov dword [ebp], 0
mov dword [esp + 0x60], 0
mov dword [eax], 0
mov eax, 0x300
mov dword [esp + 0x64], esi
mov dword [esp + 0x5c], 1
mov dword [esp + 0x58], 1
mov dword [esp + 0x54], 1
mov dword [esp + 0x50], 1
movzx ecx, byte [edx + 1]
add ecx, esi
shl eax, cl
lea ecx, [eax + 0x736]
cmp dword [esp + 0x74], ecx
jae 0xb6479d
mov eax, dword [esp + 0x78]
mov word [eax], 0x400
add eax, 2
loop 0xb64793
mov ebx, dword [esp + 0x94]
xor edi, edi
mov dword [esp + 0x48], 0xffffffff
mov edx, ebx
add edx, dword [esp + 0x98]
mov dword [esp + 0x4c], edx
xor edx, edx
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
inc edx
inc ebx
or edi, eax
cmp edx, 4
jle 0xb647bd
mov ecx, dword [esp + 0xa4]
cmp dword [esp + 0x74], ecx
jae 0xb6514b
mov esi, dword [esp + 0x74]
and esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x78]
shl eax, 4
mov dword [esp + 0x44], esi
add eax, esi
cmp dword [esp + 0x48], 0xffffff
lea ebp, [edx + eax*2]
ja 0xb64825
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov dx, word [ebp]
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jae 0xb64a1b
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, ecx
mov cl, byte [esp + 0x64]
sar eax, 5
mov esi, 1
lea eax, [edx + eax]
movzx edx, byte [esp + 0x73]
mov word [ebp], ax
mov eax, dword [esp + 0x74]
and eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x78]
shl eax, cl
mov ecx, 8
sub ecx, dword [esp + 0x64]
sar edx, cl
add eax, edx
imul eax, eax, 0x600
cmp dword [esp + 0x60], 6
lea eax, [ebp + eax + 0xe6c]
mov dword [esp + 0x14], eax
jle 0xb64962
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xa0]
movzx eax, byte [edx + eax]
mov dword [esp + 0x40], eax
shl dword [esp + 0x40], 1
mov ecx, dword [esp + 0x40]
lea edx, [esi + esi]
mov ebp, dword [esp + 0x14]
and ecx, 0x100
cmp dword [esp + 0x48], 0xffffff
lea eax, [ebp + ecx*2]
mov dword [esp + 0x3c], ecx
lea ebp, [eax + edx]
ja 0xb648f1
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov cx, word [ebp + 0x200]
shr eax, 0xb
movzx esi, cx
imul eax, esi
cmp edi, eax
jae 0xb6492c
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, esi
mov esi, edx
sar eax, 5
cmp dword [esp + 0x3c], 0
lea eax, [ecx + eax]
mov word [ebp + 0x200], ax
je 0xb6494c
jmp 0xb6495a
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, ecx
lea esi, [edx + 1]
shr ax, 5
sub cx, ax
cmp dword [esp + 0x3c], 0
mov word [ebp + 0x200], cx
je 0xb6495a
cmp esi, 0xff
jle 0xb648af
jmp 0xb649d3
cmp esi, 0xff
jg 0xb649d3
lea edx, [esi + esi]
mov ebp, dword [esp + 0x14]
add ebp, edx
cmp dword [esp + 0x48], 0xffffff
ja 0xb6498d
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov cx, word [ebp]
shr eax, 0xb
movzx esi, cx
imul eax, esi
cmp edi, eax
jae 0xb649bb
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, esi
mov esi, edx
sar eax, 5
lea eax, [ecx + eax]
mov word [ebp], ax
jmp 0xb6495a
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, ecx
lea esi, [edx + 1]
shr ax, 5
sub cx, ax
mov word [ebp], cx
jmp 0xb6495a
mov edx, dword [esp + 0x74]
mov eax, esi
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x73], al
mov byte [edx + ecx], al
inc edx
cmp dword [esp + 0x60], 3
mov dword [esp + 0x74], edx
jg 0xb64a00
mov dword [esp + 0x60], 0
jmp 0xb6511b
cmp dword [esp + 0x60], 9
jg 0xb64a11
sub dword [esp + 0x60], 3
jmp 0xb6511b
sub dword [esp + 0x60], 6
jmp 0xb6511b
mov ecx, dword [esp + 0x48]
sub edi, eax
mov esi, dword [esp + 0x60]
sub ecx, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp ecx, 0xffffff
mov word [ebp], dx
mov ebp, dword [esp + 0x78]
lea esi, [ebp + esi*2]
mov dword [esp + 0x38], esi
ja 0xb64a5e
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl ecx, 8
inc ebx
or edi, eax
mov ebp, dword [esp + 0x38]
mov eax, ecx
shr eax, 0xb
mov dx, word [ebp + 0x180]
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jae 0xb64aca
mov esi, eax
mov eax, 0x800
sub eax, ebp
mov ebp, dword [esp + 0x58]
sar eax, 5
mov ecx, dword [esp + 0x54]
lea eax, [edx + eax]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x78]
mov word [edx + 0x180], ax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], eax
xor eax, eax
cmp dword [esp + 0x60], 6
setg al
add ecx, 0x664
lea eax, [eax + eax*2]
mov dword [esp + 0x60], eax
jmp 0xb64d3e
mov esi, ecx
sub edi, eax
sub esi, eax
mov eax, edx
shr ax, 5
mov ecx, dword [esp + 0x38]
sub dx, ax
cmp esi, 0xffffff
mov word [ecx + 0x180], dx
ja 0xb64b02
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
mov ebp, dword [esp + 0x38]
mov edx, esi
shr edx, 0xb
mov cx, word [ebp + 0x198]
movzx eax, cx
imul edx, eax
cmp edi, edx
jae 0xb64c03
mov ebp, 0x800
mov esi, edx
sub ebp, eax
mov dword [esp + 0x34], 0x800
mov eax, ebp
sar eax, 5
lea eax, [ecx + eax]
mov ecx, dword [esp + 0x38]
mov word [ecx + 0x198], ax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
shl eax, 5
add eax, dword [esp + 0x78]
cmp edx, 0xffffff
lea ebp, [eax + ecx*2]
ja 0xb64b74
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
mov dx, word [ebp + 0x1e0]
mov eax, esi
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jae 0xb64bea
sub dword [esp + 0x34], ecx
sar dword [esp + 0x34], 5
mov esi, dword [esp + 0x34]
mov dword [esp + 0x48], eax
cmp dword [esp + 0x74], 0
lea eax, [edx + esi]
mov word [ebp + 0x1e0], ax
je 0xb65143
xor eax, eax
cmp dword [esp + 0x60], 6
mov ebp, dword [esp + 0xa0]
mov edx, dword [esp + 0x74]
setg al
lea eax, [eax + eax + 9]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x5c]
mov al, byte [ebp + eax]
mov byte [esp + 0x73], al
mov byte [edx + ebp], al
inc edx
mov dword [esp + 0x74], edx
jmp 0xb6511b
sub esi, eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov word [ebp + 0x1e0], dx
jmp 0xb64d22
mov eax, ecx
sub esi, edx
shr ax, 5
mov ebp, dword [esp + 0x38]
sub cx, ax
sub edi, edx
cmp esi, 0xffffff
mov word [ebp + 0x198], cx
ja 0xb64c39
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
mov ecx, dword [esp + 0x38]
mov eax, esi
shr eax, 0xb
mov dx, word [ecx + 0x1b0]
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jae 0xb64c76
mov esi, eax
mov eax, 0x800
sub eax, ecx
mov ebp, dword [esp + 0x38]
sar eax, 5
lea eax, [edx + eax]
mov word [ebp + 0x1b0], ax
mov eax, dword [esp + 0x58]
jmp 0xb64d16
mov ecx, esi
sub edi, eax
sub ecx, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, dword [esp + 0x38]
cmp ecx, 0xffffff
mov word [eax + 0x1b0], dx
ja 0xb64cae
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl ecx, 8
inc ebx
or edi, eax
mov esi, dword [esp + 0x38]
mov eax, ecx
shr eax, 0xb
mov dx, word [esi + 0x1c8]
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jae 0xb64ce8
mov esi, eax
mov eax, 0x800
sub eax, ebp
mov ebp, dword [esp + 0x38]
sar eax, 5
lea eax, [edx + eax]
mov word [ebp + 0x1c8], ax
mov eax, dword [esp + 0x54]
jmp 0xb64d0e
mov esi, ecx
sub edi, eax
sub esi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, dword [esp + 0x38]
mov word [eax + 0x1c8], dx
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x54], ecx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ebp
xor eax, eax
cmp dword [esp + 0x60], 6
mov ecx, dword [esp + 0x78]
setg al
add ecx, 0xa68
lea eax, [eax + eax*2 + 8]
mov dword [esp + 0x60], eax
cmp esi, 0xffffff
ja 0xb64d5c
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
mov dx, word [ecx]
mov eax, esi
shr eax, 0xb
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jae 0xb64d9d
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, ebp
shl dword [esp + 0x44], 4
sar eax, 5
mov dword [esp + 0x2c], 0
lea eax, [edx + eax]
mov word [ecx], ax
mov eax, dword [esp + 0x44]
lea ecx, [ecx + eax + 4]
mov dword [esp + 0x10], ecx
jmp 0xb64e0f
sub esi, eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp esi, 0xffffff
mov word [ecx], dx
ja 0xb64dcb
cmp ebx, dword [esp + 0x4c]
je 0xb65143
movzx eax, byte [ebx]
shl edi, 8
shl esi, 8
inc ebx
or edi, eax
mov dx, word [ecx + 2]
mov eax, esi
shr eax, 0xb
movzx ebp, dx
imul eax, ebp
cmp edi, eax
jae 0xb64e19
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, ebp
shl dword [esp + 0x44], 4
sar eax, 5
mov dword [esp + 0x2c], 8
lea eax, [edx + eax]
mov edx, dword [esp + 0x44]
mov word [ecx + 2], ax
lea ecx, [ecx + edx + 0x104]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], 3
jmp 0xb64e48
sub esi, eax
sub edi, eax
mov eax, edx
mov dword [esp + 0x48], esi
shr ax, 5
mov dword [esp + 0x2c], 0x10
sub dx, ax
mov dword [esp + 0x30], 8
mov word [ecx + 2], dx
add ecx, 0x204
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov edx, 1
mov dword [esp + 0x28], ecx
lea ebp, [edx + edx]
mov esi, dword [esp + 0x10]
add esi, ebp
cmp dword [esp + 0x48], 0xffffff
ja 0xb64e80
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov dx, word [esi]
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jae 0xb64eac
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, ecx
sar eax, 5
lea eax, [edx + eax]
mov edx, ebp
mov word [esi], ax
jmp 0xb64ec1
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov word [esi], dx
lea edx, [ebp + 1]
mov esi, dword [esp + 0x28]
dec esi
mov dword [esp + 0x28], esi
jne 0xb64e55
mov cl, byte [esp + 0x30]
mov eax, 1
shl eax, cl
sub edx, eax
add edx, dword [esp + 0x2c]
cmp dword [esp + 0x60], 3
mov dword [esp + 0xc], edx
jg 0xb650d3
add dword [esp + 0x60], 7
cmp edx, 3
mov eax, edx
jle 0xb64efd
mov eax, 3
mov esi, dword [esp + 0x78]
shl eax, 7
mov dword [esp + 0x24], 6
lea eax, [esi + eax + 0x360]
mov dword [esp + 8], eax
mov eax, 1
lea ebp, [eax + eax]
mov esi, dword [esp + 8]
add esi, ebp
cmp dword [esp + 0x48], 0xffffff
ja 0xb64f47
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov dx, word [esi]
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jae 0xb64f73
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, ecx
sar eax, 5
lea eax, [edx + eax]
mov word [esi], ax
mov eax, ebp
jmp 0xb64f88
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
lea eax, [ebp + 1]
mov word [esi], dx
mov ebp, dword [esp + 0x24]
dec ebp
mov dword [esp + 0x24], ebp
jne 0xb64f1c
lea edx, [eax - 0x40]
cmp edx, 3
mov dword [esp], edx
jle 0xb650c9
mov eax, edx
mov esi, edx
sar eax, 1
and esi, 1
lea ecx, [eax - 1]
or esi, 2
cmp edx, 0xd
mov dword [esp + 0x20], ecx
jg 0xb64fd6
mov ebp, dword [esp + 0x78]
shl esi, cl
add edx, edx
mov dword [esp], esi
lea eax, [ebp + esi*2]
sub eax, edx
add eax, 0x55e
mov dword [esp + 4], eax
jmp 0xb6502c
lea edx, [eax - 5]
cmp dword [esp + 0x48], 0xffffff
ja 0xb64ffb
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
shr dword [esp + 0x48], 1
add esi, esi
cmp edi, dword [esp + 0x48]
jb 0xb6500e
sub edi, dword [esp + 0x48]
or esi, 1
dec edx
jne 0xb64fd9
mov eax, dword [esp + 0x78]
shl esi, 4
mov dword [esp], esi
add eax, 0x644
mov dword [esp + 0x20], 4
mov dword [esp + 4], eax
mov dword [esp + 0x1c], 1
mov eax, 1
mov ebp, dword [esp + 4]
add eax, eax
mov dword [esp + 0x18], eax
add ebp, eax
cmp dword [esp + 0x48], 0xffffff
ja 0xb65067
cmp ebx, dword [esp + 0x4c]
je 0xb65143
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov dx, word [ebp]
shr eax, 0xb
movzx esi, dx
imul eax, esi
cmp edi, eax
jae 0xb65097
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, esi
sar eax, 5
lea eax, [edx + eax]
mov word [ebp], ax
mov eax, dword [esp + 0x18]
jmp 0xb650b6
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, dword [esp + 0x18]
mov word [ebp], dx
mov edx, dword [esp + 0x1c]
inc eax
or dword [esp], edx
mov ecx, dword [esp + 0x20]
shl dword [esp + 0x1c], 1
dec ecx
mov dword [esp + 0x20], ecx
jne 0xb65039
mov esi, dword [esp]
inc esi
mov dword [esp + 0x5c], esi
je 0xb6512c
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x74]
add ecx, 2
cmp dword [esp + 0x5c], ebp
ja 0xb65143
mov eax, dword [esp + 0xa0]
mov edx, ebp
sub eax, dword [esp + 0x5c]
add edx, dword [esp + 0xa0]
lea esi, [eax + ebp]
mov al, byte [esi]
inc esi
mov byte [esp + 0x73], al
mov byte [edx], al
inc edx
inc dword [esp + 0x74]
dec ecx
je 0xb6511b
mov ebp, dword [esp + 0xa4]
cmp dword [esp + 0x74], ebp
jb 0xb650fb
jmp 0xb6512c
mov eax, dword [esp + 0xa4]
cmp dword [esp + 0x74], eax
jb 0xb647e7
cmp dword [esp + 0x48], 0xffffff
ja 0xb6514b
cmp ebx, dword [esp + 0x4c]
mov eax, 1
je 0xb6516a
jmp 0xb6514a
mov eax, 1
jmp 0xb6516a
inc ebx
sub ebx, dword [esp + 0x94]
xor eax, eax
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x74]
mov dword [edx], ebx
mov ebx, dword [esp + 0xa8]
mov dword [ebx], ecx
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
add esi, dword [ebx - 4]
add edi, dword [ebx - 8]
xor eax, eax
lea ecx, [esp - 0x100]
mov esp, ebp
push eax
cmp esp, ecx
jne 0xb65182
mov esp, ebp
xor ecx, ecx
pop esi
mov edi, esi
mov ecx, 0x499c9c
mov al, 0xe8
repne scasb al, byte es:[edi]
jne 0xb651b0
cmp byte [edi], 0x8e
jne 0xb65195
mov eax, dword [edi]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
add eax, esi
stosd dword es:[edi], eax
jmp 0xb65193
lea edi, [esi + 0x761000]
mov eax, dword [edi]
or eax, eax
je 0xb65201
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x765c1c]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x765d64]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0xb651b6
mov ecx, edi
jns 0xb651e5
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x765d6c]
or eax, eax
je 0xb651fb
mov dword [ebx], eax
add ebx, 4
jmp 0xb651d3
call dword [esi + 0x765d68]
mov ebp, dword [esi + 0x765d70]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x257]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0xb65235
sub esp, 0xffffff80
jmp 0xb60000