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

Disassembly:
sub esp, 0x84
shr edx, 1
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 0x10]
push ebx
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx]
push ebp
mov dword [esp + 0x48], edx
mov edx, dword [eax + 4]
cmp edx, dword [eax + 0x24]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + 0x20]
push esi
lea ebx, [eax + 0x40]
push edi
mov esi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x64], ebx
jle 0x4e8144
mov esi, ecx
mov dword [esp + 0x18], eax
mov ecx, eax
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
jle 0x4e815a
mov dword [esp + 0x18], ebx
mov dword [esp + 0x64], ecx
mov ebx, ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 4]
cmp edx, dword [ecx + 4]
jle 0x4e816c
mov eax, esi
mov esi, ecx
mov dword [esp + 0x18], eax
mov ecx, eax
mov eax, dword [esi + 4]
lea edx, [eax + 0xffff]
mov eax, dword [ebx + 4]
lea edi, [eax + 0xffff]
sar edx, 0x10
sar edi, 0x10
cmp edx, edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x7c], edi
je 0x4e8daa
mov ecx, dword [ecx + 4]
add ecx, 0xffff
sar ecx, 0x10
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 4]
sub eax, ecx
cdq
push edx
push eax
push 0x10000
push 0
call fcn.006372b0
mov ecx, dword [esi]
mov edi, eax
mov eax, dword [ebx]
mov ebp, edx
push ebp
sub eax, ecx
cdq
push edi
push edx
push eax
mov dword [esp + 0x48], ecx
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x18]
sub eax, dword [esi + 0x18]
push ebp
cdq
push edi
push edx
push eax
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1c]
sub eax, dword [esi + 0x1c]
push ebp
cdq
push edi
push edx
push eax
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
sub eax, dword [esi + 4]
cdq
mov ecx, eax
mov eax, dword [esp + 0x40]
mov edi, edx
push edi
cdq
push ecx
mov ebp, eax
push edx
push ebp
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0x98], edx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
add eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
cmp ecx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], ecx
je 0x4e8daa
mov eax, dword [esp + 0x5c]
shl eax, 0x10
sub eax, dword [esi + 4]
cdq
mov ebx, edx
mov edx, dword [esp + 0x88]
push ebx
mov edi, eax
push edi
push edx
push ebp
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov ecx, dword [esi + 0x18]
mov ebp, eax
mov eax, dword [esp + 0x44]
add ebp, dword [esp + 0x38]
cdq
push ebx
push edi
push edx
push eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x70], ecx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
add eax, dword [esp + 0x60]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
cdq
push ebx
push edi
push edx
push eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], esi
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
add eax, esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x6c]
cdq
push edx
push eax
push 0x10000
push 0
call fcn.006372b0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x90]
push eax
push ecx
push edx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov ecx, eax
mov esi, edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
cdq
sub eax, ecx
sbb edx, esi
mov ecx, eax
mov eax, dword [esp + 0x60]
mov esi, edx
cdq
sub ecx, eax
mov eax, dword [esp + 0x84]
sbb esi, edx
mov edx, dword [esp + 0x88]
push edx
push eax
push esi
push ecx
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
push edx
push eax
push ecx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov esi, edx
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [edx + 0x1c]
cdq
sub eax, ecx
sbb edx, esi
mov ecx, eax
mov eax, dword [esp + 0x34]
mov esi, edx
cdq
sub ecx, eax
mov eax, dword [esp + 0x84]
sbb esi, edx
mov edx, dword [esp + 0x88]
push edx
push eax
push esi
push ecx
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
mov ecx, dword [esp + 0x5c]
mov edx, ecx
imul edx, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x98]
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x68]
sub eax, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
je 0x4e88ca
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x8c]
cdq
mov esi, eax
mov eax, dword [esp + 0x90]
push eax
push ecx
push 0x10000
push 0
mov ebp, edx
call fcn.006372b0
push edx
push eax
push ebp
push esi
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
push ebx
mov dword [esp + 0x78], eax
cdq
push edi
push edx
push eax
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [edx]
mov edx, dword [esp + 0x6c]
add ecx, dword [esp + 0x38]
cmp edx, eax
jge 0x4e869b
cmp dword [esp + 0x10], 0
jle 0x4e88c6
mov eax, dword [esp + 0x30]
cdq
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x88], edx
cdq
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x90], edx
lea edx, [eax + eax]
mov eax, dword [esp + 0x14]
add ecx, 0xffff
add eax, 0xffff
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x88]
sub dword [esp + 0x10], 1
and esi, 0xffff0000
mov eax, esi
sub eax, dword [esp + 0x14]
cdq
mov ebx, edx
mov edx, dword [esp + 0x84]
push ebx
mov edi, eax
push edi
push ecx
push edx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov ecx, dword [esp + 0x8c]
push ebx
mov ebp, eax
mov eax, dword [esp + 0x94]
add ebp, dword [esp + 0x2c]
push edi
push eax
push ecx
mov dword [esp + 0x80], ebp
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edi, dword [esp + 0x60]
and edi, 0xffff0000
mov ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
sub edi, esi
mov edx, esi
sar edx, 0x10
sar edi, 0x10
test edi, edi
mov dword [esp + 0x58], ecx
lea eax, [eax + edx*2]
jle 0x4e865f
jmp 0x4e8564
mov ecx, dword [esp + 0x58]
shr ecx, 0x10
imul ecx, dword [esp + 0x4c]
mov edx, ebp
shr edx, 0x10
add ecx, edx
sub edi, 1
cmp ecx, dword [esp + 0x50]
jae 0x4e8585
mov edx, dword [esp + 0x54]
mov edx, dword [edx + ecx*4]
jmp 0x4e8587
xor edx, edx
mov ebx, edx
shr ebx, 0x18
cmp ebx, 8
jbe 0x4e8644
movzx esi, word [eax]
mov ecx, esi
mov ebp, esi
and ecx, 0xf800
shl ecx, 5
and ebp, 0x1f
or ecx, ebp
mov ebp, edx
and edx, 0xff00
imul edx, ebx
and ebp, 0xff00ff
imul ebp, ebx
and esi, 0x7e0
or esi, 0x18
add ecx, ecx
shl esi, 5
add ecx, ecx
add ecx, ecx
shr edx, 8
or ecx, 0x70007
shr ebp, 8
and edx, 0xff00
add edx, esi
and ebp, 0xff00ff
add ecx, ebp
mov esi, ecx
shr esi, 0x18
and esi, 1
imul esi, esi, 0xff0000
mov ebx, ecx
shr ebx, 8
and ebx, 1
imul ebx, ebx, 0xff
or esi, ebx
or ecx, esi
mov esi, edx
shr esi, 0x10
mov ebp, dword [esp + 0x70]
and esi, 1
imul esi, esi, 0xff00
shr edx, 5
shr esi, 5
or esi, edx
mov edx, ecx
shr edx, 3
and esi, 0x7e0
and edx, 0x1f
shr ecx, 8
or esi, edx
and ecx, 0xf800
or esi, ecx
mov word [eax], si
add ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add dword [esp + 0x58], ecx
add eax, 2
test edi, edi
mov dword [esp + 0x70], ebp
jg 0x4e8560
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
add dword [esp + 0x14], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x60], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x28], ecx
add dword [esp + 0x2c], edx
cmp dword [esp + 0x10], 0
jg 0x4e84c3
jmp 0x4e88c6
jle 0x4e88c6
cmp dword [esp + 0x10], 0
jle 0x4e88c6
mov eax, dword [esp + 0x30]
cdq
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x88], edx
cdq
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x90], edx
lea edx, [eax + eax]
mov eax, dword [esp + 0x14]
add eax, 0xffff
add ecx, 0xffff
mov dword [esp + 0x38], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x88]
sub dword [esp + 0x10], 1
and esi, 0xffff0000
mov eax, esi
sub eax, dword [esp + 0x14]
cdq
mov ebx, edx
mov edx, dword [esp + 0x84]
push ebx
mov edi, eax
push edi
push ecx
push edx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov ecx, dword [esp + 0x8c]
push ebx
mov ebp, eax
mov eax, dword [esp + 0x94]
add ebp, dword [esp + 0x2c]
push edi
push eax
push ecx
mov dword [esp + 0x80], ebp
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edi, dword [esp + 0x5c]
and edi, 0xffff0000
mov ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
sub edi, esi
mov edx, esi
sar edx, 0x10
sar edi, 0x10
test edi, edi
mov dword [esp + 0x60], ecx
lea eax, [eax + edx*2]
jle 0x4e888f
jmp 0x4e8794
mov ecx, dword [esp + 0x60]
shr ecx, 0x10
imul ecx, dword [esp + 0x4c]
mov edx, ebp
shr edx, 0x10
add ecx, edx
sub edi, 1
cmp ecx, dword [esp + 0x50]
jae 0x4e87b5
mov edx, dword [esp + 0x54]
mov edx, dword [edx + ecx*4]
jmp 0x4e87b7
xor edx, edx
mov ebx, edx
shr ebx, 0x18
cmp ebx, 8
jbe 0x4e8874
movzx esi, word [eax]
mov ecx, esi
mov ebp, esi
and ecx, 0xf800
shl ecx, 5
and ebp, 0x1f
or ecx, ebp
mov ebp, edx
and edx, 0xff00
imul edx, ebx
and ebp, 0xff00ff
imul ebp, ebx
and esi, 0x7e0
or esi, 0x18
add ecx, ecx
shl esi, 5
add ecx, ecx
add ecx, ecx
shr edx, 8
or ecx, 0x70007
shr ebp, 8
and edx, 0xff00
add edx, esi
and ebp, 0xff00ff
add ecx, ebp
mov esi, ecx
shr esi, 0x18
and esi, 1
imul esi, esi, 0xff0000
mov ebx, ecx
shr ebx, 8
and ebx, 1
imul ebx, ebx, 0xff
or esi, ebx
or ecx, esi
mov esi, edx
shr esi, 0x10
mov ebp, dword [esp + 0x70]
and esi, 1
imul esi, esi, 0xff00
shr edx, 5
shr esi, 5
or esi, edx
mov edx, ecx
shr edx, 3
and esi, 0x7e0
and edx, 0x1f
shr ecx, 8
or esi, edx
and ecx, 0xf800
or esi, ecx
mov word [eax], si
add ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add dword [esp + 0x60], ecx
add eax, 2
test edi, edi
mov dword [esp + 0x70], ebp
jg 0x4e8790
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
add dword [esp + 0x14], eax
add dword [esp + 0x5c], eax
add dword [esp + 0x58], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x28], ecx
add dword [esp + 0x2c], edx
cmp dword [esp + 0x10], 0
jg 0x4e86f4
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
je 0x4e8daa
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov ebx, dword [esp + 0x64]
mov eax, dword [ebx + 4]
sub eax, edi
cdq
push edx
push eax
push 0x10000
push 0
call fcn.006372b0
mov ecx, eax
mov eax, edx
mov dword [esp + 0x7c], eax
mov eax, dword [ebx]
sub eax, esi
cdq
push edx
push eax
mov eax, dword [esp + 0x84]
push eax
push ecx
call fcn.0063a250
mov cl, 0x20
call fcn.00643e20
mov ecx, eax
mov eax, dword [esp + 0x68]
shl eax, 0x10
sub eax, edi
imul ecx
mov dword [esp + 0x70], ecx
mov cl, 0x10
call fcn.00643e20
mov ecx, eax
mov eax, dword [esp + 0x6c]
add ecx, esi
cmp eax, esi
jge 0x4e8b7a
cmp dword [esp + 0x10], 0
jle 0x4e8daa
mov eax, dword [esp + 0x30]
cdq
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x88], edx
cdq
add ecx, 0xffff
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x64], ecx
lea eax, [edx + edx]
lea ecx, [ebp + 0xffff]
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], ecx
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
sub dword [esp + 0x10], 1
and esi, 0xffff0000
mov eax, esi
sub eax, ebp
cdq
mov edi, eax
mov eax, dword [esp + 0x88]
push eax
push ecx
push edx
push edi
mov dword [esp + 0x90], edx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
mov ebx, eax
mov eax, dword [esp + 0x8c]
add ebx, dword [esp + 0x28]
push edx
push eax
push ecx
push edi
mov dword [esp + 0x7c], ebx
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edi, dword [esp + 0x64]
add eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
and edi, 0xffff0000
mov edx, esi
sub edi, esi
sar edx, 0x10
sar edi, 0x10
test edi, edi
lea edx, [ecx + edx*2]
mov dword [esp + 0x74], eax
mov dword [esp + 0x3c], edx
jle 0x4e8b3a
jmp 0x4e8a38
mov ebx, dword [esp + 0x6c]
mov ecx, eax
shr ecx, 0x10
imul ecx, dword [esp + 0x4c]
shr ebx, 0x10
add ecx, ebx
sub edi, 1
cmp ecx, dword [esp + 0x50]
jae 0x4e8a59
mov edx, dword [esp + 0x54]
mov edx, dword [edx + ecx*4]
jmp 0x4e8a5b
xor edx, edx
mov ebx, edx
shr ebx, 0x18
cmp ebx, 8
jbe 0x4e8b1d
mov eax, dword [esp + 0x3c]
movzx esi, word [eax]
mov ecx, esi
and ecx, 0xf800
shl ecx, 5
mov eax, esi
and eax, 0x1f
or ecx, eax
mov eax, edx
and eax, 0xff00ff
imul eax, ebx
and edx, 0xff00
imul edx, ebx
shr eax, 8
and eax, 0xff00ff
add ecx, ecx
add ecx, ecx
and esi, 0x7e0
add ecx, ecx
shr edx, 8
or esi, 0x18
or ecx, 0x70007
add ecx, eax
and edx, 0xff00
shl esi, 5
add edx, esi
mov eax, ecx
shr eax, 0x18
and eax, 1
imul eax, eax, 0xff0000
mov esi, ecx
shr esi, 8
and esi, 1
imul esi, esi, 0xff
or eax, esi
or ecx, eax
mov eax, edx
shr eax, 0x10
and eax, 1
imul eax, eax, 0xff00
shr eax, 5
shr edx, 5
or eax, edx
mov edx, ecx
shr edx, 3
and eax, 0x7e0
shr ecx, 8
and edx, 0x1f
or eax, edx
and ecx, 0xf800
or eax, ecx
mov ecx, dword [esp + 0x3c]
mov word [ecx], ax
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
add eax, dword [esp + 0x34]
add dword [esp + 0x3c], 2
add dword [esp + 0x6c], edx
test edi, edi
mov dword [esp + 0x74], eax
jg 0x4e8a34
mov eax, dword [esp + 0x40]
add dword [esp + 0x68], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
add dword [esp + 0x1c], ecx
add dword [esp + 0x28], edx
add ebp, eax
mov eax, dword [esp + 0x70]
add dword [esp + 0x64], eax
mov eax, dword [esp + 0x48]
add dword [esp + 0x2c], eax
cmp dword [esp + 0x10], 0
jg 0x4e8999
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
jle 0x4e8daa
cmp dword [esp + 0x10], 0
jle 0x4e8daa
mov eax, dword [esp + 0x30]
cdq
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x88], edx
cdq
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x8c], eax
lea eax, [edx + edx]
lea edx, [ebp + 0xffff]
add ecx, 0xffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
jmp 0x4e8be4
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x84]
sub dword [esp + 0x10], 1
and esi, 0xffff0000
mov eax, esi
sub eax, ebp
cdq
mov edi, eax
mov eax, dword [esp + 0x88]
push eax
push ecx
mov ebx, edx
push ebx
push edi
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edx, dword [esp + 0x90]
mov ebp, eax
mov eax, dword [esp + 0x8c]
add ebp, dword [esp + 0x28]
push edx
push eax
push ebx
push edi
mov dword [esp + 0x84], ebp
call fcn.0063a250
mov cl, 0x10
call fcn.00643e20
mov edi, dword [esp + 0x68]
and edi, 0xffff0000
mov ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
sub edi, esi
mov edx, esi
sar edx, 0x10
sar edi, 0x10
test edi, edi
mov dword [esp + 0x6c], ecx
lea eax, [eax + edx*2]
jle 0x4e8d73
jmp 0x4e8c78
mov ecx, dword [esp + 0x6c]
shr ecx, 0x10
imul ecx, dword [esp + 0x4c]
mov edx, ebp
shr edx, 0x10
add ecx, edx
sub edi, 1
cmp ecx, dword [esp + 0x50]
jae 0x4e8c99
mov edx, dword [esp + 0x54]
mov edx, dword [edx + ecx*4]
jmp 0x4e8c9b
xor edx, edx
mov ebx, edx
shr ebx, 0x18
cmp ebx, 8
jbe 0x4e8d58
movzx esi, word [eax]
mov ecx, esi
mov ebp, esi
and ecx, 0xf800
shl ecx, 5
and ebp, 0x1f
or ecx, ebp
mov ebp, edx
and edx, 0xff00
imul edx, ebx
and ebp, 0xff00ff
imul ebp, ebx
and esi, 0x7e0
or esi, 0x18
add ecx, ecx
shl esi, 5
add ecx, ecx
add ecx, ecx
shr edx, 8
or ecx, 0x70007
shr ebp, 8
and edx, 0xff00
add edx, esi
and ebp, 0xff00ff
add ecx, ebp
mov esi, ecx
shr esi, 0x18
and esi, 1
imul esi, esi, 0xff0000
mov ebx, ecx
shr ebx, 8
and ebx, 1
imul ebx, ebx, 0xff
or esi, ebx
or ecx, esi
mov esi, edx
shr esi, 0x10
mov ebp, dword [esp + 0x74]
and esi, 1
imul esi, esi, 0xff00
shr edx, 5
shr esi, 5
or esi, edx
mov edx, ecx
shr edx, 3
and esi, 0x7e0
and edx, 0x1f
shr ecx, 8
or esi, edx
and ecx, 0xf800
or esi, ecx
mov word [eax], si
add ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add dword [esp + 0x6c], ecx
add eax, 2
test edi, edi
mov dword [esp + 0x74], ebp
jg 0x4e8c74
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
add dword [esp + 0x14], eax
add dword [esp + 0x68], eax
add dword [esp + 0x64], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add dword [esp + 0x28], ecx
add dword [esp + 0x2c], edx
cmp dword [esp + 0x10], 0
jg 0x4e8be0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret