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

Disassembly:
push ebp
push edi
push esi
push ebx
add esp, 0xffffff80
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x5e81a5
mov eax, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
lea ecx, [eax + ebx*2]
lea esi, [esi]
lea edi, [edi]
mov dx, word [eax]
and edx, 0xffff
inc word [esp + edx*2 + 0x40]
add eax, 2
cmp eax, ecx
jne 0x5e8190
mov edx, dword [esp + 0xa4]
mov eax, dword [edx]
mov cx, word [esp + 0x5e]
test cx, cx
jne 0x5e82a4
cmp word [esp + 0x5c], 0
jne 0x5e89ca
cmp word [esp + 0x5a], 0
jne 0x5e89d7
cmp word [esp + 0x58], 0
jne 0x5e89e4
cmp word [esp + 0x56], 0
jne 0x5e89f1
cmp word [esp + 0x54], 0
jne 0x5e89fe
cmp word [esp + 0x52], 0
jne 0x5e8a63
cmp word [esp + 0x50], 0
jne 0x5e8a56
cmp word [esp + 0x4e], 0
jne 0x5e8a2f
cmp word [esp + 0x4c], 0
jne 0x5e8a70
cmp word [esp + 0x4a], 0
jne 0x5e8a49
cmp word [esp + 0x48], 0
jne 0x5e8a15
cmp word [esp + 0x46], 0
jne 0x5e8a22
cmp word [esp + 0x44], 0
jne 0x5e8a3c
cmp word [esp + 0x42], 0
jne 0x5e8894
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
mov byte [eax], 0x40
mov byte [eax + 1], 1
mov word [eax + 2], 0
mov byte [eax + 4], 0x40
mov byte [eax + 5], 1
mov word [eax + 6], 0
add eax, 8
mov dword [edx], eax
mov ebx, dword [esp + 0xa4]
mov dword [ebx], 1
xor eax, eax
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0xf
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
cmp edx, eax
jbe 0x5e82bc
mov dword [esp + 0xc], eax
cmp word [esp + 0x42], 0
jne 0x5e88ac
mov eax, 1
mov edx, dword [esp + 8]
jmp 0x5e82e8
cmp word [esp + eax*2 + 0x40], 0
jne 0x5e82ed
inc eax
cmp eax, edx
jne 0x5e82e0
mov bx, word [esp + 0x42]
mov word [esp + 4], bx
and ebx, 0xffff
mov edx, 2
sub edx, ebx
add edx, edx
mov edi, dword [esp + 0x44]
mov esi, edi
and esi, 0xffff
sub edx, esi
js 0x5e88c8
lea ebx, [edx + edx]
mov si, word [esp + 0x46]
mov edx, esi
and edx, 0xffff
sub ebx, edx
js 0x5e88c8
add ebx, ebx
mov edx, dword [esp + 0x48]
mov word [esp + 0x18], dx
and edx, 0xffff
sub ebx, edx
js 0x5e88c8
lea ebp, [ebx + ebx]
mov bx, word [esp + 0x4a]
mov edx, ebx
and edx, 0xffff
sub ebp, edx
js 0x5e88c8
lea ebp, [ebp + ebp]
mov edx, dword [esp + 0x4c]
mov word [esp + 0x1e], dx
and edx, 0xffff
sub ebp, edx
js 0x5e88c8
lea ebp, [ebp + ebp]
mov dx, word [esp + 0x4e]
mov word [esp + 0x20], dx
and edx, 0xffff
sub ebp, edx
js 0x5e88c8
lea ebp, [ebp + ebp]
mov edx, dword [esp + 0x50]
mov word [esp + 0x24], dx
and edx, 0xffff
sub ebp, edx
mov edx, ebp
js 0x5e88c8
add edx, edx
mov dword [esp + 0x10], edx
mov bp, word [esp + 0x52]
mov edx, ebp
and edx, 0xffff
mov dword [esp], edx
mov edx, dword [esp + 0x10]
sub edx, dword [esp]
mov dword [esp], edx
js 0x5e88c8
add edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x54]
mov word [esp + 0x28], dx
and edx, 0xffff
mov dword [esp], edx
mov edx, dword [esp + 0x10]
sub edx, dword [esp]
mov dword [esp], edx
js 0x5e88c8
add edx, edx
mov dword [esp + 0x10], edx
mov dx, word [esp + 0x56]
mov word [esp + 0x2c], dx
and edx, 0xffff
mov dword [esp], edx
mov edx, dword [esp + 0x10]
sub edx, dword [esp]
mov dword [esp], edx
js 0x5e88c8
add edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x58]
mov word [esp + 0x30], dx
and edx, 0xffff
mov dword [esp], edx
mov edx, dword [esp + 0x10]
sub edx, dword [esp]
mov dword [esp], edx
js 0x5e88c8
add edx, edx
mov dword [esp + 0x10], edx
mov dx, word [esp + 0x5a]
mov word [esp + 0x34], dx
and edx, 0xffff
mov dword [esp], edx
mov edx, dword [esp + 0x10]
sub edx, dword [esp]
mov dword [esp], edx
js 0x5e88c8
add edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x5c]
mov word [esp + 0x38], dx
and edx, 0xffff
mov dword [esp], edx
mov edx, dword [esp + 0x10]
sub edx, dword [esp]
mov dword [esp], edx
js 0x5e88c8
add edx, edx
and ecx, 0xffff
sub edx, ecx
cmp edx, 0
jl 0x5e88c8
je 0x5e84d6
mov edx, dword [esp + 0x94]
test edx, edx
je 0x5e88c8
cmp dword [esp + 8], 1
jne 0x5e88c8
mov word [esp + 0x62], 0
mov ecx, dword [esp + 4]
mov word [esp + 0x64], cx
mov edx, ecx
add edx, edi
mov word [esp + 0x66], dx
add esi, edx
mov word [esp + 0x68], si
add esi, dword [esp + 0x18]
mov word [esp + 0x6a], si
add ebx, esi
mov word [esp + 0x6c], bx
add bx, word [esp + 0x1e]
mov word [esp + 0x6e], bx
add ebx, dword [esp + 0x20]
mov word [esp + 0x70], bx
add ebx, dword [esp + 0x24]
mov word [esp + 0x72], bx
add ebx, ebp
mov word [esp + 0x74], bx
add ebx, dword [esp + 0x28]
mov word [esp + 0x76], bx
add ebx, dword [esp + 0x2c]
mov word [esp + 0x78], bx
add ebx, dword [esp + 0x30]
mov word [esp + 0x7a], bx
add ebx, dword [esp + 0x34]
mov word [esp + 0x7c], bx
add ebx, dword [esp + 0x38]
mov word [esp + 0x7e], bx
xor edx, edx
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x5e85b5
mov dword [esp], eax
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
lea esi, [esi]
lea edi, [edi]
mov cx, word [esi + edx*2]
test cx, cx
je 0x5e85ad
and ecx, 0xffff
mov bx, word [esp + ecx*2 + 0x60]
mov ebp, ebx
and ebp, 0xffff
mov eax, dword [esp + 0xa8]
mov word [eax + ebp*2], dx
inc ebx
mov word [esp + ecx*2 + 0x60], bx
inc edx
cmp edx, edi
jne 0x5e8580
mov eax, dword [esp]
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0xc]
jae 0x5e85c7
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x24], ebx
mov edx, dword [esp + 0x94]
test edx, edx
jne 0x5e8917
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], 1
mov cl, byte [esp + 0x24]
shl dword [esp + 0x2c], cl
mov ebx, dword [esp + 0x2c]
dec ebx
mov dword [esp + 0x34], ebx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], 0x13
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x30], 0xffffffff
xor ebp, ebp
mov dword [esp + 0xc], 0
mov eax, ebp
mov ebp, edi
mov ebx, esi
mov edi, eax
nop
mov eax, ebp
sub eax, dword [esp + 0xc]
mov byte [esp + 0x1e], al
mov si, word [edx]
mov eax, esi
and eax, 0xffff
cmp eax, dword [esp + 0x28]
jl 0x5e8850
jle 0x5e8860
add eax, eax
mov ecx, dword [esp + 0x3c]
mov dl, byte [ecx + eax]
mov ecx, dword [esp + 0x38]
mov si, word [ecx + eax]
mov ecx, ebp
sub ecx, dword [esp + 0xc]
mov eax, 1
shl eax, cl
mov dword [esp], eax
mov eax, 1
mov cl, bl
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp]
neg eax
shl eax, 2
mov dword [esp + 4], eax
mov eax, edi
mov cl, byte [esp + 0xc]
shr eax, cl
add eax, dword [esp + 0x10]
sub eax, dword [esp]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
mov bl, byte [esp + 0x1e]
mov byte [eax], dl
mov byte [eax + 1], bl
mov word [eax + 2], si
add eax, dword [esp + 4]
sub ecx, dword [esp]
jne 0x5e86c0
mov ebx, dword [esp + 0x20]
lea ecx, [ebp - 1]
mov eax, 1
shl eax, cl
mov ecx, eax
test eax, edi
je 0x5e86f6
lea esi, [esi]
lea edi, [edi]
shr ecx, 1
test edi, ecx
jne 0x5e86f0
test ecx, ecx
je 0x5e8840
lea eax, [ecx - 1]
and eax, edi
lea edi, [eax + ecx]
dec word [esp + ebp*2 + 0x40]
jne 0x5e8737
cmp ebp, dword [esp + 8]
je 0x5e88d5
mov edx, dword [esp + 0x14]
mov ax, word [edx + 2]
and eax, 0xffff
mov edx, dword [esp + 0x98]
mov ax, word [edx + eax*2]
mov ebp, eax
and ebp, 0xffff
cmp dword [esp + 0x24], ebp
jae 0x5e882c
mov esi, dword [esp + 0x34]
and esi, edi
cmp esi, dword [esp + 0x30]
je 0x5e882c
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5e8761
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
lea eax, [eax + ebx*4]
mov dword [esp + 0x18], eax
mov ebx, ebp
sub ebx, dword [esp + 0xc]
mov edx, 1
mov cl, bl
shl edx, cl
cmp ebp, dword [esp + 8]
jae 0x5e87cf
mov ax, word [esp + ebp*2 + 0x40]
and eax, 0xffff
sub edx, eax
test edx, edx
jle 0x5e87cf
mov eax, dword [esp + 0xc]
lea ecx, [esp + eax*2 + 0x40]
mov dword [esp], ebp
mov ebp, eax
jmp 0x5e87bf
mov ax, word [ecx + ebx*2]
and eax, 0xffff
sub edx, eax
test edx, edx
jle 0x5e87cc
inc ebx
add edx, edx
lea eax, [ebp + ebx]
cmp dword [esp + 8], eax
ja 0x5e87b0
mov ebp, dword [esp]
mov eax, 1
mov cl, bl
shl eax, cl
add dword [esp + 0x2c], eax
cmp dword [esp + 0x94], 1
je 0x5e8884
cmp dword [esp + 0x94], 2
je 0x5e8869
lea eax, [esi*4]
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov byte [edx + eax], bl
mov edx, dword [ecx]
mov cl, byte [esp + 0x24]
mov byte [edx + eax + 1], cl
mov edx, dword [esp + 0xa0]
mov ecx, dword [edx]
mov edx, dword [esp + 0x18]
sub edx, ecx
sar edx, 2
mov word [ecx + eax + 2], dx
mov dword [esp + 0x30], esi
add dword [esp + 0x14], 2
mov edx, dword [esp + 0x14]
jmp 0x5e8640
xor edi, edi
jmp 0x5e8706
xor edx, edx
jmp 0x5e8675
xor esi, esi
mov dl, 0x60
jmp 0x5e8675
cmp dword [esp + 0x2c], 0x24f
jbe 0x5e87f4
mov eax, 1
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x2c], 0x353
jbe 0x5e87f4
jmp 0x5e8877
mov dword [esp + 0xc], eax
test eax, eax
je 0x5e88a4
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov ax, word [esp + 0x42]
mov word [esp + 4], ax
and eax, 0xffff
mov edx, 2
sub edx, eax
jns 0x5e8a0b
mov eax, 0xffffffff
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, edi
je 0x5e88f0
mov ebx, dword [esp + 0x18]
lea eax, [ebx + edi*4]
mov byte [eax], 0x40
mov dl, byte [esp + 0x1e]
mov byte [eax + 1], dl
mov word [eax + 2], 0
mov eax, dword [esp + 0x2c]
shl eax, 2
mov ebx, dword [esp + 0xa0]
add dword [ebx], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
mov dword [eax], ecx
xor eax, eax
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x94], 1
je 0x5e897c
mov edx, dword [esp + 0xa0]
mov edx, dword [edx]
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], 1
mov cl, byte [esp + 0x24]
shl dword [esp + 0x2c], cl
mov ebx, dword [esp + 0x2c]
dec ebx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x94], 2
jne 0x5e895f
cmp dword [esp + 0x2c], 0x24f
ja 0x5e8877
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x3c], 0x7d78e0
mov dword [esp + 0x38], 0x7d7860
jmp 0x5e8613
mov ebx, dword [esp + 0xa0]
mov ebx, dword [ebx]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x94]
mov cl, byte [esp + 0x24]
shl ebx, cl
mov dword [esp + 0x2c], ebx
dec ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], 0x100
mov dword [esp + 0x3c], 0x7d769e
mov dword [esp + 0x38], 0x7d761e
cmp dword [esp + 0x2c], 0x353
jbe 0x5e8613
jmp 0x5e8877
mov dword [esp + 8], 0xe
jmp 0x5e82ac
mov dword [esp + 8], 0xd
jmp 0x5e82ac
mov dword [esp + 8], 0xc
jmp 0x5e82ac
mov dword [esp + 8], 0xb
jmp 0x5e82ac
mov dword [esp + 8], 0xa
jmp 0x5e82ac
mov eax, 1
jmp 0x5e8304
mov dword [esp + 8], 4
jmp 0x5e82ac
mov dword [esp + 8], 3
jmp 0x5e82ac
mov dword [esp + 8], 7
jmp 0x5e82ac
mov dword [esp + 8], 2
jmp 0x5e82ac
mov dword [esp + 8], 5
jmp 0x5e82ac
mov dword [esp + 8], 8
jmp 0x5e82ac
mov dword [esp + 8], 9
jmp 0x5e82ac
mov dword [esp + 8], 6
jmp 0x5e82ac