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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor esi, esi
xor eax, eax
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 0xc], edx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], 1
xor edi, edi
mov eax, dword [ebp - 4]
mov edx, dword [eax + 4]
cmp edx, 0x25
ja case.0x7cfb7f.0
mov dl, byte [edx + 0x7cfb86]
jmp dword [edx*4 + 0x7cfbac]
mov ecx, dword [ebp - 4]
movzx esi, word [ecx + 0xa]
add esi, dword [ebx + 0x38]
push esi
call sub.kernel32.dll_lstrlenA
movzx eax, ax
inc eax
push eax
call fcn.007f6b45
pop ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebx + 0x18]
mov cx, word [edx + 0x2c]
push ecx
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + 0x30]
mov edx, esi
mov eax, esi
call fcn.007cfa90
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x7cfc37
mov ecx, dword [ebx + 0x18]
mov ax, word [ecx + 0x2c]
push eax
mov edx, esi
mov eax, dword [ebp - 0x1c]
call fcn.007cfa5c
mov edx, eax
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x1c]
call fcn.007cfa90
mov dword [ebp - 0x18], eax
push dword [ebp - 0x1c]
call fcn.007f6b57
pop ecx
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7cfc5a
mov eax, esi
call fcn.007d0307
jmp 0x7cfc5c
mov eax, esi
mov esi, eax
mov edx, dword [ebx + 0x1c]
mov dword [esi + 0x58], edx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x34]
mov dword [esi + 0x50], ecx
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x38]
mov dword [esi + 0x54], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x30]
mov dword [esi + 0x60], eax
mov edx, dword [ebp - 0x18]
mov cx, word [edx + 0x20]
mov word [esi + 0x1a], cx
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x28]
mov dword [esi + 0x64], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x68], eax
mov edx, dword [ebp - 0x18]
mov cx, word [edx + 0x3c]
mov word [esi + 0x20], cx
mov eax, dword [ebx + 8]
mov eax, dword [eax]
mov edx, esi
call fcn.007d0784
xor ecx, ecx
mov dword [ebp - 0x14], ecx
jmp case.0x7cfb7f.0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x20], ecx
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7cfcdd
mov eax, esi
call fcn.007d0307
jmp 0x7cfcdf
mov eax, esi
mov esi, eax
xor edx, edx
mov dword [esi + 0x50], edx
xor ecx, ecx
mov dword [esi + 0x54], ecx
mov ecx, dword [ebp - 0x20]
mov ax, word [ecx + 8]
mov word [esi + 0x1a], ax
mov edx, dword [ebx + 8]
mov eax, dword [edx]
mov edx, esi
call fcn.007d0784
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x20]
movzx eax, word [ecx + 8]
dec eax
jne 0x7cfd21
mov edx, dword [ebp - 0x20]
mov cx, word [edx + 0xa]
inc ecx
movzx eax, cx
mov dword [esi + 0x60], eax
jmp 0x7cfd2b
mov edx, dword [ebp - 0x20]
movzx ecx, word [edx + 0xa]
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x60]
inc eax
push eax
call fcn.007f6b45
pop ecx
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 0x60]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
mov byte [ecx + eax], 0
lea edx, [esi + 0x5c]
mov dword [esi + 0x58], edx
mov ecx, dword [ebp - 0x20]
mov cx, word [ecx + 0xa]
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 0xc]
add eax, dword [ebx + 0x38]
mov edx, dword [esi + 0x5c]
call fcn.007d0650
jmp case.0x7cfb7f.0
mov ecx, dword [ebp - 4]
cmp dword [ecx + 4], 1
je 0x7cfd83
mov ecx, dword [ebp - 4]
cmp dword [ecx + 4], 2
je 0x7cfd83
xor esi, esi
jmp 0x7cfd88
mov esi, 1
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
movzx edx, word [edx + 8]
add edx, dword [ebx + 0x3c]
mov ecx, esi
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 8], eax
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7cfdbe
mov eax, esi
call fcn.007d0307
jmp 0x7cfdc0
mov eax, esi
mov esi, eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov eax, ebx
call fcn.007cf7c9
mov dword [esi], eax
push 0
push esi
push edi
xor ecx, ecx
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.007ce40b
jmp case.0x7cfb7f.0
mov ecx, dword [ebp - 4]
cmp dword [ecx + 4], 0x1e
sete cl
and ecx, 1
mov esi, ecx
mov eax, dword [ebp - 4]
cmp dword [eax], 3
jne 0x7cfe87
mov edx, dword [ebp - 4]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0xc]
add edx, dword [ebx + 0x3c]
mov ecx, esi
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0xe]
add edx, dword [ebx + 0x3c]
mov ecx, esi
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 0xc], eax
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7cfe4d
mov eax, esi
call fcn.007d0307
jmp 0x7cfe4f
mov eax, esi
mov esi, eax
mov edx, dword [ebp - 0x28]
movsx ecx, word [edx + 8]
mov dword [esi + 0x70], ecx
mov ecx, dword [ebp - 0x28]
mov ax, word [ecx + 0xa]
mov word [esi + 0x6c], ax
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx + 0xc]
mov eax, dword [ebx + 0x3c]
cmp dword [eax + ecx + 4], 0xd
jne 0x7cfe80
mov dword [esi + 0x74], 1
jmp 0x7cfee2
xor edx, edx
mov dword [esi + 0x74], edx
jmp 0x7cfee2
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
movzx edx, word [eax + 8]
add edx, dword [ebx + 0x3c]
mov ecx, esi
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + 0xa]
add edx, dword [ebx + 0x3c]
mov ecx, esi
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 0xc], eax
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7cfed3
mov eax, esi
call fcn.007d0307
jmp 0x7cfed5
mov eax, esi
mov esi, eax
xor edx, edx
mov dword [esi + 0x70], edx
mov word [esi + 0x6c], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 4]
mov eax, ebx
call fcn.007cf7c9
mov dword [esi], eax
push esi
push dword [ebx + 8]
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.007ce115
push 0
push esi
push edi
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.007ce40b
jmp case.0x7cfb7f.0
mov edx, dword [ebp - 4]
mov dword [ebp - 0x34], edx
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 8]
add edx, dword [ebx + 0x3c]
xor ecx, ecx
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x34]
movzx ecx, word [edx + 0xa]
add ecx, dword [ebx + 0x3c]
mov dword [ebp - 0x30], ecx
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7cff64
mov eax, esi
call fcn.007d0307
jmp 0x7cff66
mov eax, esi
mov esi, eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov eax, ebx
call fcn.007cf7c9
mov dword [esi], eax
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 4], 0x20
jne 0x7cff9b
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + 0xa]
add edx, dword [ebx + 0x3c]
xor ecx, ecx
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 0xc], eax
jmp 0x7d003b
mov edx, dword [ebp - 0x30]
cmp dword [edx + 4], 0x24
jne 0x7d003b
push 0xc
call fcn.007f6b3c
pop ecx
mov dword [ebp - 0x44], eax
test eax, eax
je 0x7cffc1
mov eax, dword [ebp - 0x44]
call fcn.007f4e28
jmp 0x7cffc4
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x30], 0
je 0x7d003b
xor ecx, ecx
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x40]
mov cx, word [edx + 0x1a]
mov eax, dword [ebp - 8]
cmp cx, word [eax + 0x1a]
je 0x7d0001
push esi
push dword [ebx + 8]
lea ecx, [ebp - 0x40]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 4]
call fcn.007ce115
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
call fcn.007d0784
mov edx, dword [ebp - 0x30]
cmp word [edx + 0xa], 0
je 0x7d0025
mov ecx, dword [ebp - 0x30]
movzx ecx, word [ecx + 0xa]
add ecx, dword [ebx + 0x3c]
mov dword [ebp - 0x30], ecx
jmp 0x7d002a
xor eax, eax
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x40]
mov cx, word [edx + 0x1a]
mov word [ebp - 0x3a], cx
cmp dword [ebp - 0x30], 0
jne 0x7cffcd
cmp dword [ebp - 0x38], 0
je 0x7d0061
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x8c], eax
mov dx, word [ebp - 0x3a]
mov word [esi + 0x7c], dx
xor edx, edx
mov ax, word [ebp - 0x3a]
call fcn.007cd98d
mov word [esi + 0x78], ax
push 0
push esi
push edi
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.007ce40b
jmp case.0x7cfb7f.0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x48], ecx
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7d0097
mov eax, esi
call fcn.007d0307
jmp 0x7d0099
mov eax, esi
mov esi, eax
xor edx, edx
mov dword [esi + 0x50], edx
xor ecx, ecx
mov dword [esi + 0x54], ecx
mov ecx, dword [ebp - 0x48]
mov ax, word [ecx + 8]
mov word [esi + 0x1a], ax
mov edx, dword [ebp - 0x48]
movzx ecx, word [edx + 0xa]
mov dword [esi + 0x60], ecx
mov eax, dword [ebp - 0x48]
mov dx, word [eax + 0xc]
mov word [esi + 0x78], dx
mov ecx, dword [ebp - 0x48]
mov ax, word [ecx + 0xe]
mov word [esi + 0x7a], ax
mov edx, dword [ebx + 8]
mov eax, dword [edx]
mov edx, esi
call fcn.007d0784
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x60]
inc ecx
push ecx
call fcn.007f6b45
pop ecx
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x5c]
mov dword [esi + 0x58], eax
mov edx, dword [ebp - 0x48]
mov cx, word [edx + 0xa]
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x10]
add eax, dword [ebx + 0x38]
mov edx, dword [esi + 0x5c]
call fcn.007d0650
jmp case.0x7cfb7f.0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 8]
add eax, dword [ebx + 0x38]
push eax
call sub.kernel32.dll_lstrlenA
mov word [ebp - 0x52], ax
push 0x94
call fcn.007f6b3c
pop ecx
mov esi, eax
test eax, eax
je 0x7d0147
mov eax, esi
call fcn.007d0307
jmp 0x7d0149
mov eax, esi
mov esi, eax
movzx edx, word [ebp - 0x52]
inc edx
push edx
call fcn.007f6b45
pop ecx
mov dword [esi + 0x80], eax
mov ecx, dword [ebp - 0x4c]
movzx ecx, word [ecx + 8]
add ecx, dword [ebx + 0x38]
push ecx
push dword [esi + 0x80]
call sub.kernel32.dll_lstrcpyA
mov eax, dword [ebp - 4]
mov edx, dword [eax + 4]
mov eax, ebx
call fcn.007cf7c9
mov dword [esi], eax
cmp dword [ebx + 0x10], 0
je 0x7d01a2
mov eax, dword [esi + 0x80]
call fcn.007cf9e1
test eax, eax
je 0x7d01a2
mov edi, 1
mov eax, dword [ebx + 0x10]
inc word [eax]
mov edx, dword [ebp - 0x4c]
cmp word [edx + 0xa], 0
je 0x7d0214
mov ecx, dword [ebp - 0x4c]
movzx ecx, word [ecx + 0xa]
add ecx, dword [ebx + 0x3c]
mov dword [ebp - 0x50], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x50]
cmp word [ecx + 0xa], 0
je 0x7d0214
mov eax, dword [ebp - 0x50]
movzx edx, word [eax + 0xa]
add edx, dword [ebx + 0x3c]
mov dword [ebp - 0x50], edx
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x50]
cmp word [ecx + 0xa], 0
je 0x7d0214
mov eax, dword [ebp - 0x50]
movzx edx, word [eax + 0xa]
add edx, dword [ebx + 0x3c]
mov dword [ebp - 0x50], edx
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov eax, ebx
call fcn.007cfb42
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
push esi
push edi
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.007ce40b
jmp case.0x7cfb7f.0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x58]
movzx edx, word [eax + 8]
add edx, dword [ebx + 0x3c]
xor ecx, ecx
mov eax, ebx
call fcn.007cfb42
mov esi, eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x7d027b
test esi, esi
je 0x7d027b
cmp dword [ebx + 0x10], 0
je 0x7d0271
mov edx, dword [ebx + 0x10]
cmp word [edx], 0
jne 0x7d0271
test edi, edi
jne 0x7d0271
mov edx, esi
mov eax, dword [ebx + 0xc]
call fcn.007f4f08
jmp 0x7d027b
mov edx, esi
mov eax, dword [ebx + 8]
call fcn.007f4f08
cmp dword [ebx + 0x10], 0
je 0x7d029a
test edi, edi
je 0x7d029a
mov ecx, dword [ebx + 0x10]
movzx ecx, word [ecx]
dec ecx
jle 0x7d0294
mov word [ebx + 0x2c], 0x3001
mov eax, dword [ebx + 0x10]
dec word [eax]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret