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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xfc
mov ebx, dword [eax + 0x154]
mov dword [esp + 0x34], eax
lea esi, [esp + 0x90]
mov dword [esp + 0x64], edx
mov dword [esp + 0x74], ecx
lea edi, [ebx + 0x80]
mov dword [esp + 0x3c], edi
lea edi, [ebx + 0x100]
mov dword [esp + 0x70], edi
mov edi, dword [eax + 0x158]
mov eax, dword [esp + 0x114]
imul eax, dword [esp + 0x110]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x40], edi
add edi, edi
mov dword [esp + 0x7c], edi
add eax, ecx
imul eax, eax, 0x1e8
mov word [esp + 0x8a], di
mov edi, dword [esp + 0x40]
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0x180
sub edx, eax
mov eax, dword [esp + 0x34]
lea edi, [edi + edi - 0x10]
mov dword [esp + 0x80], edi
mov word [esp + 0x8c], di
mov edi, dword [esp + 0x40]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 0xd0]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x44], 0x180
add edi, 8
mov dword [esp + 0x38], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x84], edi
mov word [esp + 0x8e], di
mov eax, dword [esp + 0x38]
mov dword [esp + 8], edx
shr eax, 1
imul eax, edx
mov edx, dword [esp + 0x38]
and edx, 1
add eax, edx
mov edx, dword [esp + 0x34]
shl eax, 3
add eax, dword [edx + 0xb8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x1abadac]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x40], 4
mov eax, dword [eax + 0x1a4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x188]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + edx*4 + 0x170]
mov edi, dword [eax + 0x16c]
mov eax, dword [eax + 0x15c]
mov dword [esp + 0x68], edx
jbe 0xb779c5
cmp dword [esp + 0x40], 8
jbe 0xb77fb0
cmp dword [esp + 0x40], 0x18
ja 0xb78360
mov ebp, dword [esp + 0x84]
movzx edx, word [esp + 0x8e]
mov dword [esp + 0x50], ebp
mov word [esp + 0x54], dx
jmp 0xb779d9
mov word [esp + 0x54], 8
mov ebp, 8
mov dword [esp + 0x50], 8
mov dword [esp + 0x30], eax
mov dword [esp], ebx
call dword [0x1abad40]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebp
test eax, eax
je 0xb77c35
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [0x1abad80]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x70]
mov dword [esp], edi
call dword [0x1abad7c]
mov edi, dword [esp + 0x118]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x114]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x110]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x78]
mov dword [esp], edi
call fcn.00b5fc50
mov edi, dword [esp + 0x48]
imul eax, dword [esp + 0x38], 0x1e
mov ecx, dword [esp + 0x64]
mov ebp, dword [edi + 0xd4]
mov edi, dword [esp + 0x3c]
lea edx, [ecx + eax + 0x20]
movzx eax, word [esp + 0x54]
mov ecx, 0x7ff
imul ax, word [edi]
cmp ax, 0x7ff
cmovg eax, ecx
mov ecx, 0xfffff800
cmp ax, 0xf800
cmovge ecx, eax
xor eax, eax
mov word [edx], cx
movzx ecx, word [ebx + eax + 0x82]
mov word [edx + eax + 2], cx
movzx ecx, word [ebx + eax*8 + 0x90]
mov word [edx + eax + 0x10], cx
add eax, 2
cmp eax, 0xe
jne 0xb77ad2
mov edi, dword [esp + 0x3c]
movzx eax, word [edi]
sub ax, word [esi]
mov word [edi], ax
cwde
movzx edi, byte [eax*8 + 0x1262bdc]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], 0x1265860
sub edi, 3
mov dword [esp], eax
call fcn.00b447b0
lea edx, [eax + edi]
test eax, eax
mov dword [esp + 0x50], edx
je 0xb77b40
mov ecx, 5
mov eax, 1
sub ecx, dword [esp + 0x38]
shl eax, cl
or dword [esp + 0x60], eax
xor eax, eax
cmp ebp, 1
je 0xb77cf0
nop
lea esi, [esi]
movzx edx, word [ebx + eax*8 + 0x90]
sub dx, word [esi + eax + 2]
mov word [ebx + eax*8 + 0x90], dx
mov word [esi + eax + 2], dx
add eax, 2
cmp eax, 0xe
jne 0xb77b50
mov ecx, dword [esp + 0x3c]
shl ebp, 7
add ebp, 0x1265860
mov dword [esp + 4], ebp
mov dword [esp], ecx
call fcn.00b447b0
add edi, eax
test eax, eax
mov dword [esp + 0x54], edi
je 0xb77ba9
mov ecx, 5
mov eax, 1
sub ecx, dword [esp + 0x38]
shl eax, cl
or dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0xb77c78
mov edi, dword [esp + 0x70]
mov dword [esp + 8], 0x10
mov dword [esp], ebx
mov dword [esp + 4], edi
call dword [0x1abad74]
imul eax, dword [esp + 0x68]
xor edx, edx
mov edi, dword [esp + 0x54]
div dword [esp + 0x58]
mov edx, dword [esp + 0x50]
shl edi, 4
shl edx, 4
add edi, dword [esp + 0x5c]
add edx, dword [esp + 0x44]
add edx, eax
add eax, edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], eax
mov ecx, dword [edi + 0x10]
cmp edx, ecx
jl 0xb77c0e
cmp eax, ecx
jge 0xb77f9c
add dword [esp + 0x38], 1
add esi, 0x10
add dword [esp + 0x48], 4
cmp dword [esp + 0x38], 4
je 0xb77fd0
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0xd0]
jmp 0xb77923
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
call dword [0x1abad94]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x70]
mov dword [esp], edi
call dword [0x1abad98]
jmp 0xb77a38
mov eax, dword [esp + 0x48]
mov edi, dword [eax + 0x15c]
mov dword [esp], ebx
call dword [0x1abad48]
mov ecx, 0x10
mov edx, 0x8000
mov dword [esp + 0x4c], ebx
add edi, edi
imul edi, eax
mov eax, 0x8000
mov ebp, edi
jmp 0xb77ca9
or eax, edx
mov edi, eax
mov ebx, eax
imul edi, eax
xor ebx, edx
cmp ebp, edi
cmovb eax, ebx
shr edx, 1
sub ecx, 1
jne 0xb77ca7
mov ebx, dword [esp + 0x4c]
add eax, 0x30
mov edi, dword [esp + 0x70]
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 4], edi
call dword [0x1abad5c]
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb77bce
mov al, 1
movzx edx, word [ebx + eax*2 + 0x80]
sub dx, word [esi + eax*2]
mov word [ebx + eax*2 + 0x80], dx
mov word [esi + eax*2], dx
add eax, 1
cmp eax, 8
jne 0xb77cf2
jmp 0xb77b72
mov word [esp + 0x68], 8
mov esi, 8
mov dword [esp + 0x4c], 8
mov dword [esp], ebx
call dword [0x1abad40]
test ebp, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
je 0xb78430
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [0x1abad80]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x70]
mov dword [esp], edi
call dword [0x1abad7c]
mov edi, dword [esp + 0x118]
lea eax, [esp + 0xe0]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 5
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x114]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x110]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x78]
mov dword [esp], edi
call fcn.00b5fc50
movzx eax, word [esp + 0x68]
mov ecx, 0x7ff
imul ax, word [ebx + 0x80]
mov edx, dword [esp + 0x64]
mov edi, dword [edx + 0xe8]
add edx, 0xb6
cmp ax, 0x7ff
cmovg eax, ecx
mov ecx, 0xfffff800
cmp ax, 0xf800
cmovge ecx, eax
mov eax, dword [esp + 0x64]
mov word [eax + 0xb6], cx
xor eax, eax
movzx ecx, word [ebx + eax + 0x82]
mov word [edx + eax + 2], cx
movzx ecx, word [ebx + eax*8 + 0x90]
mov word [edx + eax + 0x10], cx
add eax, 2
cmp eax, 0xe
jne 0xb77e24
movzx eax, word [ebx + 0x80]
sub ax, word [esp + 0xe0]
mov edx, dword [esp + 0x3c]
mov word [ebx + 0x80], ax
cwde
movzx esi, byte [eax*8 + 0x1261bdc]
mov dword [esp], edx
mov dword [esp + 4], 0x1265860
call fcn.00b447b0
mov edx, dword [esp + 0x60]
sub esi, 2
or edx, 1
test eax, eax
cmove edx, dword [esp + 0x60]
lea ecx, [eax + esi]
xor eax, eax
cmp edi, 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], edx
je 0xb78522
lea ecx, [esp + 0xe2]
movzx edx, word [ebx + eax*8 + 0x90]
add ecx, eax
sub dx, word [ecx]
mov word [ebx + eax*8 + 0x90], dx
add eax, 2
cmp eax, 0xe
mov word [ecx], dx
jne 0xb77ea0
mov eax, edi
mov edi, dword [esp + 0x3c]
shl eax, 7
add eax, 0x1265860
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00b447b0
mov edx, dword [esp + 0x6c]
or edx, 1
add esi, eax
test eax, eax
mov eax, dword [esp + 0x58]
cmove edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], esi
test eax, eax
mov dword [esp + 0x6c], edx
jne 0xb78473
mov edi, dword [esp + 0x70]
mov dword [esp + 8], 0x10
mov dword [esp], ebx
mov dword [esp + 4], edi
call dword [0x1abad74]
imul eax, dword [esp + 0x5c]
xor edx, edx
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x34]
div dword [esp + 0x44]
mov edx, dword [esp + 0x40]
shl edx, 4
add edx, dword [esp + 0x38]
lea ecx, [edx + eax]
mov edx, dword [esp + 0x3c]
shl edx, 4
add edx, dword [esp + 0x48]
add eax, edx
mov edx, dword [esp + 0x60]
and edx, 3
shl edx, 3
or edx, 3
movzx edx, byte [edx*8 + 0x10efec4]
sub edx, 5
shl edx, 4
add edx, ecx
mov ecx, dword [esp + 0x6c]
and ecx, 3
shl ecx, 3
or ecx, 3
movzx ecx, byte [ecx*8 + 0x10efec4]
sub ecx, 5
shl ecx, 4
add eax, ecx
cmp edx, eax
cmovle ebx, dword [esp + 0x60]
cmp eax, edx
cmovle edx, eax
mov dword [esp + 0x44], edx
mov dword [edi + 0x160], ebx
mov eax, dword [esp + 0x44]
add esp, 0xfc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x7c]
movzx ecx, word [esp + 0x8a]
mov dword [esp + 0x50], edx
mov ebp, edx
mov word [esp + 0x54], cx
jmp 0xb779d9
mov ecx, dword [esp + 0x60]
shr ecx, 2
movzx ecx, byte [ecx*8 + 0x12633e4]
sub ecx, 2
shl ecx, 4
add ecx, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x44], ecx
shr edx, 2
movzx edx, byte [edx*8 + 0x12633e4]
sub edx, 2
shl edx, 4
add edx, eax
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0xd0]
shr eax, 1
mov dword [esp + 8], eax
mov eax, dword [edx + 0xbc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x1abadac]
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x40], 4
mov eax, dword [eax + 0x1a4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x188]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x180]
mov edi, dword [eax + 0x16c]
mov ebp, dword [eax + 0x15c]
mov dword [esp + 0x5c], edx
ja 0xb78340
mov word [esp + 0x68], 8
mov esi, 8
mov dword [esp + 0x4c], 8
mov dword [esp], ebx
call dword [0x1abad40]
test ebp, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
je 0xb78380
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [0x1abad80]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x70]
mov dword [esp], edi
call dword [0x1abad7c]
mov edi, dword [esp + 0x118]
lea eax, [esp + 0xd0]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 4
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x114]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x110]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x78]
mov dword [esp], edi
call fcn.00b5fc50
movzx eax, word [esp + 0x68]
mov ecx, 0x7ff
imul ax, word [ebx + 0x80]
mov edx, dword [esp + 0x64]
mov edi, dword [edx + 0xe4]
add edx, 0x98
cmp ax, 0x7ff
cmovg eax, ecx
mov ecx, 0xfffff800
cmp ax, 0xf800
cmovge ecx, eax
mov eax, dword [esp + 0x64]
mov word [eax + 0x98], cx
xor eax, eax
movzx ecx, word [ebx + eax + 0x82]
mov word [edx + eax + 2], cx
movzx ecx, word [ebx + eax*8 + 0x90]
mov word [edx + eax + 0x10], cx
add eax, 2
cmp eax, 0xe
jne 0xb78177
movzx eax, word [ebx + 0x80]
sub ax, word [esp + 0xd0]
mov edx, dword [esp + 0x3c]
mov word [ebx + 0x80], ax
cwde
movzx esi, byte [eax*8 + 0x1261bdc]
mov dword [esp], edx
mov dword [esp + 4], 0x1265860
call fcn.00b447b0
mov edx, dword [esp + 0x60]
sub esi, 2
or edx, 2
test eax, eax
cmove edx, dword [esp + 0x60]
lea ecx, [eax + esi]
xor eax, eax
cmp edi, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], edx
je 0xb784e0
lea ecx, [esp + 0xd2]
movzx edx, word [ebx + eax*8 + 0x90]
add ecx, eax
sub dx, word [ecx]
mov word [ebx + eax*8 + 0x90], dx
add eax, 2
cmp eax, 0xe
mov word [ecx], dx
jne 0xb781f3
shl edi, 7
add edi, 0x1265860
mov dword [esp + 4], edi
mov edi, dword [esp + 0x3c]
mov dword [esp], edi
call fcn.00b447b0
mov edx, dword [esp + 0x6c]
or edx, 2
add esi, eax
test eax, eax
mov eax, dword [esp + 0x58]
cmove edx, dword [esp + 0x6c]
mov dword [esp + 0x68], esi
test eax, eax
mov dword [esp + 0x6c], edx
jne 0xb783c3
mov edi, dword [esp + 0x70]
mov dword [esp + 8], 0x10
mov dword [esp], ebx
mov dword [esp + 4], edi
call dword [0x1abad74]
imul eax, dword [esp + 0x5c]
xor edx, edx
div dword [esp + 0x38]
mov edx, dword [esp + 0x4c]
shl edx, 4
add edx, dword [esp + 0x44]
add edx, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x68]
shl edx, 4
add edx, dword [esp + 0x48]
add edx, eax
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x10]
cmp dword [esp + 0x38], eax
jl 0xb782b8
cmp dword [esp + 0x48], eax
jge 0xb77f9c
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xd0]
shr eax, 1
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x1abadac]
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x40], 4
mov eax, dword [eax + 0x1a4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x188]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x184]
mov edi, dword [eax + 0x16c]
mov ebp, dword [eax + 0x15c]
mov dword [esp + 0x5c], edx
jbe 0xb77d17
cmp dword [esp + 0x40], 0x18
mov esi, dword [esp + 0x40]
ja 0xb78551
add esi, 0xd
shr esi, 1
mov dword [esp + 0x4c], esi
mov word [esp + 0x68], si
jmp 0xb77d2b
cmp dword [esp + 0x40], 0x18
mov esi, dword [esp + 0x40]
jbe 0xb7850f
sub esi, 6
mov dword [esp + 0x4c], esi
mov word [esp + 0x68], si
jmp 0xb7807e
mov edx, dword [esp + 0x80]
movzx ecx, word [esp + 0x8c]
mov dword [esp + 0x50], edx
mov ebp, edx
mov word [esp + 0x54], cx
jmp 0xb779d9
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
call dword [0x1abad94]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x70]
mov dword [esp], edi
call dword [0x1abad98]
jmp 0xb780d5
mov edx, dword [esp + 0x64]
mov ebp, dword [edx + 0x16c]
mov dword [esp], ebx
call dword [0x1abad48]
mov ecx, 0x10
mov edx, 0x8000
add ebp, ebp
imul ebp, eax
mov eax, 0x8000
jmp 0xb783f2
or eax, edx
mov edi, eax
mov esi, eax
imul edi, eax
xor esi, edx
cmp ebp, edi
cmovb eax, esi
shr edx, 1
sub ecx, 1
jne 0xb783f0
mov edi, dword [esp + 0x70]
add eax, 0x30
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [0x1abad5c]
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb78270
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
call dword [0x1abad94]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x70]
mov dword [esp], edi
call dword [0x1abad98]
jmp 0xb77d82
mov edx, dword [esp + 0x64]
mov ebp, dword [edx + 0x170]
mov dword [esp], ebx
call dword [0x1abad48]
mov ecx, 0x10
mov edx, 0x8000
add ebp, ebp
imul ebp, eax
mov eax, 0x8000
jmp 0xb784a2
or eax, edx
mov edi, eax
mov esi, eax
imul edi, eax
xor esi, edx
cmp ebp, edi
cmovb eax, esi
shr edx, 1
sub ecx, 1
jne 0xb784a0
mov edi, dword [esp + 0x70]
add eax, 0x30
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [0x1abad5c]
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb77f1e
mov al, 1
movzx edx, word [ebx + eax*2 + 0x80]
sub dx, word [esp + eax*2 + 0xd0]
mov word [ebx + eax*2 + 0x80], dx
mov word [esp + eax*2 + 0xd0], dx
add eax, 1
cmp eax, 8
jne 0xb784e2
jmp 0xb7821a
add esi, 0xd
shr esi, 1
mov dword [esp + 0x4c], esi
mov word [esp + 0x68], si
jmp 0xb7807e
mov al, 1
movzx edx, word [ebx + eax*2 + 0x80]
sub dx, word [esp + eax*2 + 0xe0]
mov word [ebx + eax*2 + 0x80], dx
mov word [esp + eax*2 + 0xe0], dx
add eax, 1
cmp eax, 8
jne 0xb78524
jmp 0xb77ec7
sub esi, 6
mov dword [esp + 0x4c], esi
mov word [esp + 0x68], si
jmp 0xb77d2b