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

Disassembly:
add byte [eax], al
add byte [eax], al
add al, 0xf3
add al, 0
mov eax, 0x4f2
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], cl
add al, 0
sal dl, 4
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], bl
add al, 0
enter 0x4f2, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 0
sal dl, 1
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor ebx, esi
add al, 0
fdiv st(2)
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp al, 0xf3
add al, 0
dec edx
add al, 0
pop edx
add al, 0
push 0xfffffffffffffff3
add al, 0
js 0x1004f895
add al, 0
add byte [eax], al
add byte [eax], al
xchg bl, dh
add al, 0
add byte [eax], al
add byte [eax], al
xchg esp, eax
add al, 0
add byte [eax], al
add byte [eax], al
pushfd
add al, 0
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
lodsb al, byte [esi]
add al, 0
add byte [eax], al
add byte [eax], al
sal bl, 4
add byte [eax], al
add byte [eax], al
add al, cl
add al, 0
add byte [eax], al
add byte [eax], al
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
inc esp
dec esp
dec esp
add byte [ecx + 0x44], al
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [edi + 0x44], al
dec ecx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [edi + 0x6c], ch
xor esi, dword gs:[edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [edi + 0x4c], cl
inc ebp
inc ecx
push ebp
push esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebp + 0x72], dh
insb byte es:[edi], dx
insd dword es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebp + 0x53], dl
inc ebp
push edx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [edi + 0x49], dl
dec esi
dec ecx
dec esi
inc ebp
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax], al
dec esp
outsd dx, dword [esi]
popal
dec esp
imul esp, dword [edx + 0x72], 0x41797261
add byte [eax], al
inc edi
je 0x1004f9a0
jb 0x1004f9c1
arpl word [ecx + 0x64], ax
jb 0x1004f9bd
jae 0x1004f9cd
add byte [eax], al
push esi
imul esi, dword [edx + 0x74], 0x506c6175
jb 0x1004f9d5
je 0x1004f9cd
arpl word [eax + eax], si
push esi
imul esi, dword [edx + 0x74], 0x416c6175
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
add byte [esi + 0x69], dl
jb 0x1004f9f2
jne 0x1004f9e1
insb byte es:[edi], dx
inc esi
jb 0x1004f9e9
add byte gs:[eax], al
add byte [edx + 0x65], dl
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x1004f9f5
dec ebx
jns 0x1004f994
add byte [eax], al
inc edx
imul esi, dword [edx + eax*2 + 0x6c], 0x43000074
outsd dx, dword [esi]
push esp
popal
jae 0x1004fa0f
dec ebp
insd dword es:[edi], dx
inc esi
jb 0x1004fa0f
add byte gs:[eax], al
add byte [eax], al
add byte [ebp + 0x52], dl
dec esp
inc esp
outsd dx, dword [esi]
ja 0x1004fa23
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
push esp
outsd dx, dword [esi]
inc esi
imul ebp, dword [ebp + 0x57], 0x65470000
insb byte es:[edi], dx
push edi
add byte [eax], al
inc edi
je 0x1004fa0a
add byte [edi + 0x65], al
je 0x1004fa0a
inc ebx
add byte [eax], al
add byte [ebp + 0x6c], al
je 0x1004fa35
push ebp
jb 0x1004fa3f
inc ebx
popal
arpl word [eax + 0x65], bp
inc ebp
outsb dx, byte [esi]
je 0x1004fa4e
jns 0x1004fa35
add byte [eax], al
add byte [eax], al
add byte [eax], al
invalid
add byte [eax], al
add dh, al
dec esi
cmp al, 0x56
add byte [eax], al
add byte [eax], al
sbb al, 0xf4
add byte [eax], al
add byte [esp + esi*8], bl
add al, 0
add dword [eax], eax
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add al, byte [eax]
add byte [eax], al
or ah, dh
add al, 0
adc ah, dh
add al, 0
sbb ah, dh
add al, 0
loopne 0x1004f9ab
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], cl
hlt
add byte [eax], al
and byte [esi - 0xbd60000], bl
add al, 0
xor esp, esi
add al, 0
add byte [eax], al
add dword [eax], eax
dec ecx
outsb dx, byte [esi]
jae 0x1004fa85
add byte [edx], ch
hlt
jb 0x1004fa96
push edi
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ecx + 0x64], al
push edi
outsb dx, byte [esi]
add byte fs:[ecx + 0x6e], cl
imul esi, dword [eax + eax], 0x4d00000
add byte [eax + eax], cl
add byte [eax], al
add byte [eax], al
rol byte [eax + eax], 1
or al, 0
add byte [eax], al
pop ebp
cmp dword [eax], eax
add byte [eax], al
loopne 0x1004fa4b
add byte [ebp + 0x39], bl
add byte [eax], al
add al, ah
add al, 0
or al, 0
add byte [eax + eax], cl
add byte [eax], al
insb byte es:[edi], dx
xor eax, 0x3570
add byte [ebp + esi + 0x70], ch
xor eax, 0
jo 0x1004fa85
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + ebx*2], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and al, 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 0x1004febb
cmp esi, 0xffffff
ja 0x1004fed9
cmp ebx, dword [esp + 0x4c]
je 0x100502c0
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 0x1004ff1a
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 0x1004ff8c
sub esi, eax
sub edi, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp esi, 0xffffff
mov word [ecx], dx
ja 0x1004ff48
cmp ebx, dword [esp + 0x4c]
je 0x100502c0
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 0x1004ff96
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 0x1004ffc5
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 0x1004fffd
cmp ebx, dword [esp + 0x4c]
je 0x100502c0
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 0x10050029
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 0x1005003e
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 0x1004ffd2
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 0x10050250
add dword [esp + 0x60], 7
cmp edx, 3
mov eax, edx
jle 0x1005007a
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 0x100500c4
cmp ebx, dword [esp + 0x4c]
je 0x100502c0
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 0x100500f0
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 0x10050105
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 0x10050099
lea edx, [eax - 0x40]
cmp edx, 3
mov dword [esp], edx
jle 0x10050246
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 0x10050153
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 0x100501a9
lea edx, [eax - 5]
cmp dword [esp + 0x48], 0xffffff
ja 0x10050178
cmp ebx, dword [esp + 0x4c]
je 0x100502c0
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 0x1005018b
sub edi, dword [esp + 0x48]
or esi, 1
dec edx
jne 0x10050156
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 0x100501e4
cmp ebx, dword [esp + 0x4c]
je 0x100502c0
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 0x10050214
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 0x10050233
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 0x100501b6
mov esi, dword [esp]
inc esi
mov dword [esp + 0x5c], esi
je 0x100502a9
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x74]
add ecx, 2
cmp dword [esp + 0x5c], ebp
ja 0x100502c0
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 0x10050298
mov ebp, dword [esp + 0xa4]
cmp dword [esp + 0x74], ebp
jb 0x10050278
jmp 0x100502a9
mov eax, dword [esp + 0xa4]
cmp dword [esp + 0x74], eax
jb 0x1004f964
cmp dword [esp + 0x48], 0xffffff
ja 0x100502c8
cmp ebx, dword [esp + 0x4c]
mov eax, 1
je 0x100502e7
jmp 0x100502c7
mov eax, 1
jmp 0x100502e7
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 0x100502ff
mov esp, ebp
xor ecx, ecx
pop esi
mov edi, esi
mov ecx, 0x1156
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x10050310
cmp byte [edi], 0xa
jne 0x10050310
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x10050315
lea edi, [esi + 0x4b000]
mov eax, dword [edi]
or eax, eax
je 0x1005038d
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x501dc]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x502cc]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x10050342
mov ecx, edi
jns 0x10050371
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 + 0x502d0]
or eax, eax
je 0x10050387
mov dword [ebx], eax
add ebx, 4
jmp 0x1005035f
popal
xor eax, eax
ret 0xc
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x100503be
cmp al, 0xef
ja 0x100503b1
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x10050393
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x100503a0
mov ebp, dword [esi + 0x502d4]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
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 0x100503f2
sub esp, 0xffffff80
jmp 0x10017d55