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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x84
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0xac]
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 dword [esp + 0x60], 0
test eax, eax
je 0x45f05e
xor edx, edx
mov ebx, dword [esp + 0x9c]
lea esi, [esi]
movzx ecx, word [ebx + edx*2]
inc word [esp + ecx*2 + 0x44]
inc edx
cmp edx, eax
jne 0x45f050
mov edx, dword [esp + 0xa8]
mov ecx, dword [edx]
mov dx, word [esp + 0x62]
test dx, dx
jne 0x45f160
cmp word [esp + 0x60], 0
jne 0x45f807
cmp word [esp + 0x5e], 0
jne 0x45f814
cmp word [esp + 0x5c], 0
jne 0x45f862
cmp word [esp + 0x5a], 0
jne 0x45f855
cmp word [esp + 0x58], 0
jne 0x45f848
cmp word [esp + 0x56], 0
jne 0x45f83b
cmp word [esp + 0x54], 0
jne 0x45f82e
cmp word [esp + 0x52], 0
jne 0x45f821
cmp word [esp + 0x50], 0
jne 0x45f87c
cmp word [esp + 0x4e], 0
jne 0x45f86f
cmp word [esp + 0x4c], 0
jne 0x45f8a3
cmp word [esp + 0x4a], 0
jne 0x45f896
cmp word [esp + 0x48], 0
jne 0x45f889
cmp word [esp + 0x46], 0
jne 0x45f660
mov ebx, dword [esp + 0xa4]
mov eax, dword [ebx]
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 [ebx], eax
mov esi, dword [esp + 0xa8]
mov dword [esi], 1
xor eax, eax
add esp, 0x84
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0xf
mov bx, word [esp + 0x46]
test bx, bx
jne 0x45f66d
cmp word [esp + 0x48], 0
jne 0x45f8ce
cmp word [esp + 0x4a], 0
jne 0x45f8e2
cmp word [esp + 0x4c], 0
jne 0x45f8d8
cmp word [esp + 0x4e], 0
jne 0x45f932
cmp word [esp + 0x50], 0
jne 0x45f928
cmp word [esp + 0x52], 0
jne 0x45f91e
cmp word [esp + 0x54], 0
jne 0x45f914
cmp word [esp + 0x56], 0
jne 0x45f90a
cmp word [esp + 0x58], 0
jne 0x45f900
cmp word [esp + 0x5a], 0
jne 0x45f8f6
cmp word [esp + 0x5c], 0
jne 0x45f8ec
cmp word [esp + 0x5e], 0
jne 0x45f8ba
cmp word [esp + 0x60], 0
jne 0x45f8b0
test dx, dx
jne 0x45f8c4
mov ecx, 2
mov edi, 0x10
mov dword [esp + 0x28], 0x10
lea esi, [ecx + ecx]
movzx ecx, word [esp + 0x48]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x4a]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x4c]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x4e]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x50]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x52]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x54]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x56]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x58]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x5a]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x5c]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x5e]
sub esi, ecx
js 0x45f69a
shl esi, 1
movzx ecx, word [esp + 0x60]
sub esi, ecx
js 0x45f69a
lea ecx, [esi + esi]
movzx edx, dx
sub ecx, edx
cmp ecx, 0
jl 0x45f69a
je 0x45f31e
mov edx, dword [esp + 0x98]
test edx, edx
je 0x45f69a
cmp dword [esp + 0x10], 1
jne 0x45f69a
mov word [esp + 0x66], 0
mov word [esp + 0x68], bx
mov edx, ebx
add edx, dword [esp + 0x48]
mov word [esp + 0x6a], dx
add dx, word [esp + 0x4a]
mov word [esp + 0x6c], dx
add edx, dword [esp + 0x4c]
mov word [esp + 0x6e], dx
add dx, word [esp + 0x4e]
mov word [esp + 0x70], dx
add edx, dword [esp + 0x50]
mov word [esp + 0x72], dx
add dx, word [esp + 0x52]
mov word [esp + 0x74], dx
add edx, dword [esp + 0x54]
mov word [esp + 0x76], dx
add dx, word [esp + 0x56]
mov word [esp + 0x78], dx
add edx, dword [esp + 0x58]
mov word [esp + 0x7a], dx
add dx, word [esp + 0x5a]
mov word [esp + 0x7c], dx
add edx, dword [esp + 0x5c]
mov word [esp + 0x7e], dx
add dx, word [esp + 0x5e]
mov word [esp + 0x80], dx
add edx, dword [esp + 0x60]
mov word [esp + 0x82], dx
test eax, eax
je 0x45f3ec
xor edx, edx
mov dword [esp + 8], edi
mov esi, dword [esp + 0x9c]
nop
mov cx, word [esi + edx*2]
test cx, cx
je 0x45f3e3
movzx ecx, cx
mov bx, word [esp + ecx*2 + 0x64]
movzx edi, bx
mov word [ebp + edi*2], dx
inc ebx
mov word [esp + ecx*2 + 0x64], bx
inc edx
cmp edx, eax
jne 0x45f3c4
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x98]
test esi, esi
jne 0x45f76c
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], 1
mov cl, byte [esp + 0x28]
shl dword [esp + 0x34], cl
mov ebx, dword [esp + 0x34]
dec ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x2c], 0x13
mov dword [esp + 0x18], ebp
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], 0xffffffff
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x14], ebp
mov ebp, edi
nop
mov ebx, ebp
sub bl, byte [esp + 0x14]
mov byte [esp + 0x26], bl
mov esi, dword [esp + 0x18]
mov bx, word [esi]
movzx ecx, bx
cmp ecx, dword [esp + 0x2c]
jl 0x45f638
jle 0x45f640
shl ecx, 1
mov edi, dword [esp + 0x40]
movzx esi, byte [edi + ecx]
mov edi, dword [esp + 0x3c]
mov bx, word [edi + ecx]
mov ecx, ebp
sub ecx, dword [esp + 0x14]
mov edi, 1
shl edi, cl
mov dword [esp + 8], edi
mov edi, 1
mov cl, dl
shl edi, cl
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 8]
neg ecx
shl ecx, 2
mov dword [esp + 0xc], ecx
mov edi, eax
mov cl, byte [esp + 0x14]
shr edi, cl
mov ecx, dword [esp + 0x1c]
add ecx, edi
sub ecx, dword [esp + 8]
mov edi, dword [esp + 0x20]
lea ecx, [edi + ecx*4]
mov edi, dword [esp + 0x1c]
mov dword [esp + 4], edx
mov edx, esi
mov esi, eax
mov al, dl
mov dl, byte [esp + 0x26]
mov byte [ecx], al
mov byte [ecx + 1], dl
mov word [ecx + 2], bx
add ecx, dword [esp + 0xc]
sub edi, dword [esp + 8]
jne 0x45f4d8
mov edx, dword [esp + 4]
mov eax, esi
lea ecx, [ebp - 1]
mov esi, 1
shl esi, cl
test esi, eax
je 0x45f506
nop
shr esi, 1
test esi, eax
jne 0x45f500
test esi, esi
je 0x45f630
lea ebx, [esi - 1]
and ebx, eax
lea eax, [ebx + esi]
mov bx, word [esp + ebp*2 + 0x44]
dec ebx
mov word [esp + ebp*2 + 0x44], bx
test bx, bx
jne 0x45f543
cmp ebp, dword [esp + 0x10]
je 0x45f6aa
mov ebx, dword [esp + 0x18]
movzx ecx, word [ebx + 2]
mov esi, dword [esp + 0x9c]
movzx ebp, word [esi + ecx*2]
cmp ebp, dword [esp + 0x28]
jbe 0x45f626
mov edi, dword [esp + 0x38]
and edi, eax
cmp edi, dword [esp + 0x30]
je 0x45f626
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x45f56d
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
mov edx, ebp
sub edx, dword [esp + 0x14]
cmp ebp, dword [esp + 0x10]
jae 0x45f5c6
mov ebx, 1
mov cl, dl
shl ebx, cl
mov dword [esp + 0xc], ebx
movzx ebx, word [esp + ebp*2 + 0x44]
sub dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
test ecx, ecx
jle 0x45f5c6
mov ecx, dword [esp + 0x14]
lea esi, [esp + ecx*2 + 0x44]
mov dword [esp + 8], ebp
mov ebp, ecx
mov ecx, dword [esp + 0xc]
jmp 0x45f5b8
shl ecx, 1
movzx ebx, word [esi + edx*2]
sub ecx, ebx
test ecx, ecx
jle 0x45f5c2
inc edx
lea ebx, [edx + ebp]
cmp dword [esp + 0x10], ebx
ja 0x45f5ac
mov ebp, dword [esp + 8]
mov ebx, 1
mov cl, dl
shl ebx, cl
add dword [esp + 0x34], ebx
cmp dword [esp + 0x98], 1
je 0x45f64c
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
lea esi, [esi + ebx*4]
mov dword [esp + 0x20], esi
lea ecx, [edi*4]
mov esi, dword [esp + 0xa4]
mov ebx, dword [esi]
mov byte [ebx + ecx], dl
mov ebx, dword [esi]
mov esi, ebx
mov bl, byte [esp + 0x28]
mov byte [esi + ecx + 1], bl
mov ebx, dword [esp + 0xa4]
mov esi, dword [ebx]
mov ebx, dword [esp + 0x20]
sub ebx, esi
sar ebx, 2
mov word [esi + ecx + 2], bx
mov dword [esp + 0x30], edi
add dword [esp + 0x18], 2
jmp 0x45f44c
xor eax, eax
jmp 0x45f516
xor esi, esi
jmp 0x45f482
xor ebx, ebx
mov esi, 0x60
jmp 0x45f482
cmp dword [esp + 0x34], 0x5af
jbe 0x45f5dd
mov eax, 1
jmp 0x45f155
mov bx, word [esp + 0x46]
mov dword [esp + 0x10], 1
mov edi, 1
mov esi, dword [esp + 0x10]
cmp esi, ecx
jbe 0x45f67c
mov esi, ecx
mov dword [esp + 0x28], esi
cmp esi, edi
jae 0x45f688
mov dword [esp + 0x28], edi
movzx ecx, bx
mov esi, 2
sub esi, ecx
mov ecx, esi
jns 0x45f22d
mov eax, 0xffffffff
add esp, 0x84
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [esp + 0x14]
mov ebx, ecx
test eax, eax
je 0x45f726
movzx edi, byte [esp + 0x28]
mov esi, 1
test ebp, ebp
je 0x45f750
mov edx, dword [esp + 0x38]
and edx, eax
cmp edx, dword [esp + 0x30]
je 0x45f768
mov edx, dword [esp + 0xa4]
mov edx, dword [edx]
mov dword [esp + 0x20], edx
mov ebx, edi
mov byte [esp + 0x26], bl
xor ecx, ecx
xor ebp, ebp
mov edx, dword [esp + 0x28]
lea ebx, [edx - 1]
mov edx, eax
shr edx, cl
mov ecx, dword [esp + 0x20]
lea edx, [ecx + edx*4]
mov byte [edx], 0x40
mov cl, byte [esp + 0x26]
mov byte [edx + 1], cl
mov word [edx + 2], 0
mov edx, esi
mov cl, bl
shl edx, cl
test edx, eax
je 0x45f722
lea esi, [esi]
shr edx, 1
test edx, eax
jne 0x45f71c
test edx, edx
jne 0x45f754
mov eax, dword [esp + 0x34]
shl eax, 2
mov ebx, dword [esp + 0xa4]
add dword [ebx], eax
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xa8]
mov dword [esi], ecx
xor eax, eax
add esp, 0x84
pop ebx
pop esi
pop edi
pop ebp
ret
xor ecx, ecx
jmp 0x45f6f4
lea ecx, [edx - 1]
and ecx, eax
mov eax, ecx
add eax, edx
jne 0x45f6be
jmp 0x45f726
mov ecx, ebp
jmp 0x45f6f4
cmp dword [esp + 0x98], 1
je 0x45f7b9
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], 1
mov cl, byte [esp + 0x28]
shl dword [esp + 0x34], cl
mov ebx, dword [esp + 0x34]
dec ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x40], 0x5a0fe0
mov dword [esp + 0x3c], 0x5a0f60
jmp 0x45f431
mov esi, dword [esp + 0xa4]
mov esi, dword [esi]
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0x98]
mov cl, byte [esp + 0x28]
shl ebx, cl
mov dword [esp + 0x34], ebx
dec ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], 0x100
mov dword [esp + 0x40], 0x5a0d9e
mov dword [esp + 0x3c], 0x5a0d1e
cmp dword [esp + 0x34], 0x5af
jbe 0x45f431
jmp 0x45f656
mov dword [esp + 0x10], 0xe
jmp 0x45f168
mov dword [esp + 0x10], 0xd
jmp 0x45f168
mov dword [esp + 0x10], 7
jmp 0x45f168
mov dword [esp + 0x10], 8
jmp 0x45f168
mov dword [esp + 0x10], 9
jmp 0x45f168
mov dword [esp + 0x10], 0xa
jmp 0x45f168
mov dword [esp + 0x10], 0xb
jmp 0x45f168
mov dword [esp + 0x10], 0xc
jmp 0x45f168
mov dword [esp + 0x10], 5
jmp 0x45f168
mov dword [esp + 0x10], 6
jmp 0x45f168
mov dword [esp + 0x10], 2
jmp 0x45f168
mov dword [esp + 0x10], 3
jmp 0x45f168
mov dword [esp + 0x10], 4
jmp 0x45f168
mov edi, 0xe
jmp 0x45f672
mov edi, 0xd
jmp 0x45f672
mov edi, 0xf
jmp 0x45f672
mov edi, 2
jmp 0x45f672
mov edi, 4
jmp 0x45f672
mov edi, 3
jmp 0x45f672
mov edi, 0xc
jmp 0x45f672
mov edi, 0xb
jmp 0x45f672
mov edi, 0xa
jmp 0x45f672
mov edi, 9
jmp 0x45f672
mov edi, 8
jmp 0x45f672
mov edi, 7
jmp 0x45f672
mov edi, 6
jmp 0x45f672
mov edi, 5
jmp 0x45f672