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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x7f3dc6
sub esp, 0x8c
lea edi, [esp + 0x50]
xor eax, eax
call fcn.004572a1
lea edi, [esp + 0x50]
call fcn.004572a1
lea ecx, [0x982006]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 3
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x7f3dad
mov eax, dword [ecx + 8]
cmp eax, 0x29cb474c
jne 0x7f3da2
lea edx, [0x957560]
cmp edx, ecx
jne 0x7f3d98
mov ebx, dword [esp + 0x94]
je 0x7f3d22
cmp eax, 0x7ade63e2
jne 0x7f3dad
lea eax, [0x9759a0]
cmp eax, ecx
jne 0x7f3d18
mov ebx, dword [esp + 0x94]
jne 0x7f3dad
mov ebp, dword [ebx + 0x1c]
mov dword [esp + 0x50], ebp
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebp
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x60], ebp
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x54], 0xc8
movzx ebx, byte [ebx + 0x40]
mov byte [esp + 0x84], bl
xor ebx, ebx
mov byte [esp + 0x33], bl
mov ebp, dword [esp + 0x60]
test ebp, ebp
jne 0x7f356f
mov ebp, dword [esp + 0x64]
test ebp, ebp
jne 0x7f356f
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 1
lea eax, [esp + 0x50]
mov dword [esp], eax
call fcn.007f3e00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x7f3d03
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x40], edi
movzx edi, byte [esp + 0x33]
xchg edi, eax
mov byte [esp], al
xchg edi, eax
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
call fcn.007f4240
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test ecx, ecx
jne 0x7f3cee
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
movzx eax, byte [esp + 0x33]
test al, al
je 0x7f3626
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x5c], 4
jne 0x7f3ce7
cmp dword [eax], 0x44414548
sete al
test al, al
jne 0x7f3c65
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.007f4960
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x88], edx
test ecx, ecx
jne 0x7f3c50
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 8], 0x29cb474c
jne 0x7f3c48
lea edx, [0x957560]
cmp edx, ecx
jne 0x7f3c3b
mov ebx, dword [esp + 0x34]
cmp ebx, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
cmp esi, 0xffffffff
sete dl
and edx, ebp
test dl, dl
je 0x7f36f4
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
test ebp, ebp
jle 0x7f3c34
mov ebp, dword [edx]
cmp dword [edx + 4], 7
jne 0x7f3c2d
cmp dword [ebp], 0x6e756863
jne 0x7f3c2d
cmp word [ebp + 4], 0x656b
jne 0x7f3c2d
cmp byte [ebp + 6], 0x64
sete dl
test dl, dl
je 0x7f3be6
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
test edx, edx
jle 0x7f3bdf
mov edx, dword [ebp]
cmp dword [ebp + 4], 7
jne 0x7f3bd8
cmp dword [edx], 0x6e756863
jne 0x7f3bd8
cmp word [edx + 4], 0x656b
jne 0x7f3bd8
cmp byte [edx + 6], 0x64
sete dl
test dl, dl
je 0x7f3a42
mov edx, dword [esp + 0x58]
cmp dword [esp + 0x5c], 4
jne 0x7f3a3b
cmp dword [edx], 0x44414548
sete dl
test dl, dl
je 0x7f391e
lea edx, [0xa521e0]
mov dword [esp + 0x68], edx
lea edx, [0xdd7ba0]
mov dword [esp + 0x6c], edx
mov edx, dword [ecx + 8]
cmp edx, 0x29cb474c
jne 0x7f384d
lea ebx, [0x957560]
cmp ebx, ecx
jne 0x7f3914
mov eax, dword [esp + 0x94]
jne 0x7f384d
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [eax + 0x20], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x7f383a
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov dword [eax + 0x34], edx
mov dword [eax + 0x38], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7f382a
mov dword [eax + 0x30], ebx
movzx ecx, byte [esp + 0x84]
mov byte [eax + 0x3c], cl
mov ecx, dword [0xdd7ec0]
mov edx, dword [esp + 0x88]
test ecx, ecx
jne 0x7f381e
mov dword [eax + 0x40], edx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
add esp, 0x8c
ret
lea edi, [eax + 0x40]
mov eax, edx
call fcn.00456fe0
jmp 0x7f3801
lea edi, [eax + 0x30]
mov ecx, eax
mov eax, ebx
call fcn.00456fe0
mov eax, ecx
jmp 0x7f37e2
lea edi, [eax + 0x24]
mov edx, eax
mov eax, ecx
call fcn.00456fe0
mov eax, edx
jmp 0x7f37b2
cmp edx, 0x7ade63e2
jne 0x7f3801
lea edx, [0x9759a0]
cmp edx, ecx
jne 0x7f390a
mov eax, dword [esp + 0x94]
jne 0x7f3801
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [eax + 0x20], edx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x7f38f7
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], edx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7f38e7
mov dword [eax + 0x34], ebx
movzx ecx, byte [esp + 0x84]
mov byte [eax + 0x40], cl
mov ecx, dword [0xdd7ec0]
mov edx, dword [esp + 0x88]
test ecx, ecx
jne 0x7f38d8
mov dword [eax + 0x58], edx
jmp 0x7f3801
lea edi, [eax + 0x58]
mov eax, edx
call fcn.00456fe0
jmp 0x7f3801
lea edi, [eax + 0x34]
mov ecx, eax
mov eax, ebx
call fcn.00456fe0
mov eax, ecx
jmp 0x7f38b4
lea edi, [eax + 0x24]
mov edx, eax
mov eax, ecx
call fcn.00456fe0
mov eax, edx
jmp 0x7f3884
mov eax, 0
jmp 0x7f386a
mov eax, 0
jmp 0x7f3790
mov edx, dword [esp + 0x54]
cmp edx, 0x64
jl 0x7f3a13
cmp edx, 0xc7
jg 0x7f3a13
xor eax, eax
test al, al
je 0x7f3758
lea eax, [0xa4d580]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
call fcn.007abff0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
lea edx, [0x95bbc0]
mov dword [esp], edx
call fcn.0040ae10
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7f3a01
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x7f39d9
mov edx, dword [esp + 0x94]
mov dword [eax + 0xc], edx
mov ebx, dword [esp + 0x98]
mov dword [eax + 0x10], ebx
movzx ebx, byte [esp + 0x84]
mov byte [eax + 0x14], bl
lea ebx, [0xa51a00]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], eax
jmp 0x7f376c
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0x94]
call fcn.00456fe0
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x98]
call fcn.00456fe0
mov eax, edx
mov edx, ebx
jmp 0x7f39bb
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x48]
call fcn.00456fe0
mov eax, ecx
jmp 0x7f3993
cmp edx, 0xcc
jne 0x7f3a22
xor eax, eax
jmp 0x7f3939
cmp edx, 0x130
jne 0x7f3a31
xor eax, eax
jmp 0x7f3939
mov eax, 1
jmp 0x7f3939
xor edx, edx
jmp 0x7f3750
test esi, esi
sete dl
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x7f3a71
lea edx, [0xa521e0]
mov dword [esp + 0x68], edx
lea edx, [0xdd7ba0]
mov dword [esp + 0x6c], edx
jmp 0x7f376c
test ebx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
test esi, esi
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x7f3b1e
movzx edx, byte [esp + 0x84]
test dl, dl
jne 0x7f3ab6
lea edx, [0xa521e0]
mov dword [esp + 0x68], edx
lea edx, [0xdd7ba0]
mov dword [esp + 0x6c], edx
jmp 0x7f376c
lea eax, [0x95bbc0]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [esp + 4]
lea ecx, [0xa4d580]
mov dword [eax], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7f3b09
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
movzx edx, byte [esp + 0x84]
mov byte [eax + 0x14], dl
lea edx, [0xa51a00]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x90]
jmp 0x7f376c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.00456fe0
mov eax, ecx
jmp 0x7f3ae4
lea eax, [0x91a380]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [esp + 4]
lea ecx, [0xa4d580]
mov dword [eax], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7f3bc0
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0xc], ecx
lea ecx, [0x95bbc0]
mov dword [esp], ecx
call fcn.0040ae10
mov eax, dword [esp + 4]
lea ecx, [0xa4df20]
mov dword [eax], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7f3bae
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
movzx edx, byte [esp + 0x84]
mov byte [eax + 0x14], dl
lea edx, [0xa51a00]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x90]
jmp 0x7f376c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x4c]
call fcn.00456fe0
mov eax, ecx
jmp 0x7f3b89
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.00456fe0
mov eax, ecx
jmp 0x7f3b4c
xor edx, edx
jmp 0x7f3730
xor edx, edx
jmp 0x7f3730
mov edx, dword [esp + 0x54]
cmp edx, 0x64
jl 0x7f3c0e
cmp edx, 0xc7
jg 0x7f3c0e
xor eax, eax
test al, al
je 0x7f36f4
mov byte [esp + 0x84], 1
jmp 0x7f36f4
cmp edx, 0xcc
jne 0x7f3c1a
xor eax, eax
jmp 0x7f3bf9
cmp edx, 0x130
jne 0x7f3c26
xor eax, eax
jmp 0x7f3bf9
mov eax, 1
jmp 0x7f3bf9
xor edx, edx
jmp 0x7f36ec
xor edx, edx
jmp 0x7f36ec
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x7f36f4
lea edx, [0x957560]
jmp 0x7f3c3b
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
add esp, 0x8c
ret
mov eax, dword [esp + 0x50]
lea ecx, [0x969600]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x9899b8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xe
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x7f3ce1
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.007f57c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x7f3ccc
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
jmp 0x7f362e
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
add esp, 0x8c
ret
xor ecx, ecx
xor eax, eax
jmp 0x7f3c9f
xor eax, eax
jmp 0x7f361e
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
add esp, 0x8c
ret
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
add esp, 0x8c
ret
mov ebx, 0
jmp 0x7f350e
mov dword [esp + 0x44], ebx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x50], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x60], ecx
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x64], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.007f4810
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x84], al
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x7f3d7b
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
lea eax, [0x9759a0]
mov ecx, dword [esp + 0x90]
lea edx, [0x957560]
mov ebx, 1
jmp 0x7f354b
mov ebx, 0
jmp 0x7f34e8
lea edx, [0x957560]
jmp 0x7f34ee
lea eax, [0x8eba40]
mov dword [esp], eax
lea eax, [0xa45988]
mov dword [esp + 4], eax
call fcn.0042cff0
nop
call fcn.004557a0
jmp fcn.007f3470