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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x7a39ac
sub esp, 0x84
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x7a393d
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
xor esi, esi
mov edi, esi
movzx esi, byte [ecx + 4]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x7a2f53
jmp 0x7a2f5d
dec ebx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebp, ebx
mov ebx, esi
test ebx, ebx
jle 0x7a2f5d
cmp byte [ebp], 0x2e
je 0x7a2f44
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebx
test eax, eax
je 0x7a387d
mov dword [esp + 0x34], eax
mov esi, edi
lea edi, [esp + 0x64]
xor eax, eax
call fcn.004572a8
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x34]
jmp 0x7a2fa8
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
mov esi, ecx
mov edx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], edx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x68]
cmp dword [esp + 0x78], ecx
jge 0x7a32d2
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
lea eax, [esp + 0x64]
mov dword [esp], eax
call fcn.007a4490
mov ecx, dword [esp + 8]
mov eax, dword [esp + 4]
test ecx, ecx
jne 0x7a3136
mov edx, dword [esp + 0x34]
test edx, edx
je 0x7a3092
mov eax, dword [esp + 0x54]
movzx ecx, byte [esp + 0x22]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x80]
lea ebp, [ebx + 1]
mov dword [esp + 0x80], ebp
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x7a3059
cmp ebp, esi
jl 0x7a3027
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x78], ebx
jmp 0x7a2f92
lea edx, [esi - 1]
cmp ebp, edx
jne 0x7a3055
cmp ebp, esi
jae 0x7a3998
lea edx, [edi + ebx*8 + 8]
mov edx, dword [edx + 4]
test edx, edx
sete dl
test dl, dl
je 0x7a304c
mov edx, dword [esp + 0x34]
jmp 0x7a301a
mov edx, dword [esp + 0x34]
jmp 0x7a2f92
xor edx, edx
jmp 0x7a3042
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx + 1]
mov dword [esp + 0x78], ebp
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
lea edx, [esi - 1]
cmp edx, ebp
jne 0x7a3089
cmp ebp, esi
jae 0x7a398f
movzx edx, byte [edi + ebx + 1]
cmp dl, 0x2e
jne 0x7a3089
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x34]
jmp 0x7a2f92
mov ebx, dword [esp + 0x88]
movzx ebp, byte [ebx + 3]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x7a2fec
lea eax, [0x93cfc0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x90]
mov dword [edi + 4], eax
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7a311d
mov edx, dword [esp + 0x8c]
mov dword [edi], edx
mov dword [edi + 0xc], 2
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x7a30fd
lea ebx, [0x981dbf]
mov dword [edi + 8], ebx
lea edx, [0xa4e5e0]
mov eax, edi
jmp 0x7a2ff0
lea ebp, [edi + 8]
mov ecx, edi
mov edi, ebp
mov ebx, eax
lea eax, [0x981dbf]
call fcn.00456fe0
mov eax, ebx
lea ebx, [0x981dbf]
mov edi, ecx
jmp 0x7a30f0
mov ecx, eax
mov eax, dword [esp + 0x8c]
call fcn.00456fe0
mov eax, ecx
mov edx, dword [esp + 0x8c]
jmp 0x7a30d6
cmp ecx, 4
jge 0x7a329e
xor edx, edx
test dl, dl
jne 0x7a317c
mov edx, dword [esp + 0x34]
test edx, edx
je 0x7a315b
mov eax, dword [esp + 0x54]
movzx ecx, byte [esp + 0x22]
jmp 0x7a2ff5
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.007a48f0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x7a3151
cmp ecx, 4
jb 0x7a39a1
add ecx, 0xfffffffc
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.007a4ee0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
test ecx, ecx
je 0x7a31ce
mov edx, dword [esp + 0x34]
test edx, edx
je 0x7a31ca
mov eax, dword [esp + 0x54]
movzx ecx, byte [esp + 0x22]
jmp 0x7a2ff5
mov edx, ecx
jmp 0x7a31c0
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], ebx
movzx eax, byte [esp + 0x22]
test al, al
je 0x7a327c
mov eax, 1
mov byte [esp + 0x22], al
lea ecx, [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.007a4570
mov eax, dword [esp + 0x34]
test eax, eax
je 0x7a3247
mov ecx, dword [esp + 0x54]
test eax, eax
je 0x7a321e
mov edx, eax
mov eax, ecx
movzx ecx, byte [esp + 0x22]
jmp 0x7a2ff5
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
call fcn.007a48f0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x7a3210
mov ebx, dword [esp + 0x88]
movzx ebp, byte [ebx + 2]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x7a3208
mov edx, dword [ebx + 0xc]
mov dword [esp], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ebp, dword [edx]
call ebp
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x7a320c
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00795cb0
mov eax, dword [esp + 8]
test eax, eax
setne al
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
jmp 0x7a31e8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], eax
mov dword [esp], eax
lea ecx, [0x9829f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.00402300
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
jmp 0x7a3141
xchg esi, eax
test al, al
xchg esi, eax
je 0x7a3871
mov ecx, dword [esp + 0x88]
mov esi, dword [ecx + 0x14]
test esi, esi
je 0x7a32f2
test eax, eax
je 0x7a36d9
movzx ebx, byte [esp + 0x94]
test bl, bl
je 0x7a3570
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
jmp 0x7a332d
mov ecx, ebp
mov eax, edx
mov edx, ebx
movzx ebx, byte [esp + 0x94]
mov ebp, dword [esp + 0x68]
cmp dword [esp + 0x78], ebp
jge 0x7a3570
mov dword [esp + 0x60], edx
mov dword [esp + 0x40], eax
lea eax, [esp + 0x64]
mov dword [esp], eax
call fcn.007a4490
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x50], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.007a4e80
movzx eax, byte [esp + 8]
test al, al
je 0x7a34f1
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x88]
movzx esi, byte [ebp + 3]
xchg esi, eax
test al, al
xchg esi, eax
je 0x7a33a1
test edx, edx
je 0x7a3443
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
mov dword [esp + 0x80], eax
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test edi, edi
je 0x7a3407
cmp eax, ecx
jl 0x7a33cf
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
jmp 0x7a331f
lea ebp, [ecx - 1]
cmp eax, ebp
jne 0x7a3403
cmp eax, ecx
jae 0x7a3980
lea eax, [edi + esi*8 + 8]
mov eax, dword [eax + 4]
test eax, eax
sete al
test al, al
je 0x7a33f7
mov ebp, dword [esp + 0x88]
jmp 0x7a33c2
mov ebp, dword [esp + 0x88]
jmp 0x7a331f
xor eax, eax
jmp 0x7a33ea
mov esi, dword [esp + 0x7c]
lea eax, [esi + 1]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
lea ebp, [ecx - 1]
cmp ebp, eax
jne 0x7a3437
cmp eax, ecx
jae 0x7a397b
movzx eax, byte [edi + esi + 1]
cmp al, 0x2e
jne 0x7a3437
mov dword [esp + 0x78], ecx
mov ebp, dword [esp + 0x88]
jmp 0x7a331f
test eax, eax
jne 0x7a34e2
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x7a33a1
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], ecx
lea eax, [0x93cfc0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x30]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x7a34d7
mov edx, dword [esp + 0x50]
mov dword [edi], edx
mov dword [edi + 0xc], 2
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x7a34b9
lea edx, [0x981dbf]
mov dword [edi + 8], edx
mov ebp, dword [esp + 0x88]
mov ebx, edi
lea edx, [0xa4e5e0]
jmp 0x7a33a1
lea ebx, [edi + 8]
mov eax, edi
mov edi, ebx
mov ecx, eax
lea eax, [0x981dbf]
call fcn.00456fe0
lea edx, [0x981dbf]
mov edi, ecx
jmp 0x7a34a5
mov eax, dword [esp + 0x50]
call fcn.00456fe0
jmp 0x7a348b
cmp eax, 0x3f
xchg esi, ebx
setg bl
xchg esi, ebx
jmp 0x7a3450
lea eax, [0x9829f0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
call fcn.007a5850
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x40]
test ebp, ebp
je 0x7a356c
mov edx, dword [esp + 0x60]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], ecx
lea ebx, [esp + 0x64]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.007a4570
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x54]
jmp 0x7a3388
mov ebp, ebx
jmp 0x7a3533
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x6c]
test edi, edi
jne 0x7a3689
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
test bl, bl
je 0x7a359c
movzx ecx, byte [ecx + 3]
test cl, cl
je 0x7a359c
test eax, eax
je 0x7a35bf
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
add esp, 0x84
ret
test ebp, ebp
jle 0x7a3682
movzx ecx, byte [ebp + esi - 1]
cmp cl, 0x2e
jne 0x7a3682
lea ecx, [ebp - 1]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x44], esi
cmp ebp, 1
jge 0x7a366c
lea eax, [0x93cfc0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x24]
mov dword [edi + 4], eax
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7a3659
mov ecx, dword [esp + 0x44]
mov dword [edi], ecx
mov dword [edi + 0xc], 2
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x7a363f
lea edx, [0x981dbf]
mov dword [edi + 8], edx
lea edx, [0xa4e5e0]
mov ebp, eax
mov esi, ecx
mov eax, edx
mov edx, edi
jmp 0x7a359c
lea edx, [edi + 8]
mov ebx, edi
mov edi, edx
mov ebp, eax
lea eax, [0x981dbf]
call fcn.00456fe0
mov eax, ebp
mov edi, ebx
jmp 0x7a362c
mov ecx, eax
mov eax, dword [esp + 0x44]
call fcn.00456fe0
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x7a3612
cmp ecx, 0xfd
jg 0x7a35e9
mov ecx, esi
mov edi, edx
mov edx, eax
mov eax, ebp
jmp 0x7a3632
mov ecx, ebp
jmp 0x7a35d8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x5c], edx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
lea eax, [0x981d30]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.004db7d0
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
movzx eax, byte [esp + 0x94]
test al, al
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x5c]
jmp 0x7a358e
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
jmp 0x7a3713
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x68]
cmp dword [esp + 0x78], esi
jge 0x7a386d
lea eax, [esp + 0x64]
mov dword [esp], eax
call fcn.007a4490
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x14]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x7a37ea
mov edx, dword [esp + 0x80]
lea eax, [edx + 1]
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test ebx, ebx
je 0x7a37ad
cmp eax, ecx
jl 0x7a3785
mov eax, dword [esp + 0x68]
mov dword [esp + 0x78], eax
jmp 0x7a36f6
lea ebp, [ecx - 1]
cmp eax, ebp
jne 0x7a37a9
cmp eax, ecx
jae 0x7a398a
lea eax, [ebx + edx*8 + 8]
mov eax, dword [eax + 4]
test eax, eax
sete al
test al, al
jne 0x7a3778
jmp 0x7a36f6
xor eax, eax
jmp 0x7a37a0
mov edx, dword [esp + 0x7c]
lea eax, [edx + 1]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
lea ebp, [ecx - 1]
cmp ebp, eax
jne 0x7a36f6
cmp eax, ecx
jae 0x7a3985
movzx eax, byte [ebx + edx + 1]
cmp al, 0x2e
jne 0x7a36f6
mov dword [esp + 0x78], ecx
jmp 0x7a36f6
lea eax, [0x93cfc0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x90]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x7a385f
mov ecx, dword [esp + 0x8c]
mov dword [edi], ecx
mov dword [edi + 0xc], 1
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7a3847
lea eax, [0x981d3f]
mov dword [edi + 8], eax
lea eax, [0xa4e5e0]
mov ecx, dword [esp + 0x88]
mov edx, edi
jmp 0x7a32f2
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
lea eax, [0x981d3f]
call fcn.00456fe0
mov edi, edx
jmp 0x7a3833
mov eax, dword [esp + 0x8c]
call fcn.00456fe0
jmp 0x7a3819
mov edi, edx
jmp 0x7a3839
mov ecx, dword [esp + 0x88]
jmp 0x7a32f2
movzx esi, byte [ecx + 3]
xchg esi, eax
test al, al
xchg esi, eax
je 0x7a2f73
test ebx, ebx
jne 0x7a2f73
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea eax, [0x93cfc0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x90]
mov dword [edi + 4], eax
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x7a3924
mov ecx, dword [esp + 0x8c]
mov dword [edi], ecx
mov dword [edi + 0xc], 2
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x7a3904
lea edx, [0x981dbf]
mov dword [edi + 8], edx
mov ecx, dword [esp + 0x88]
mov ebx, eax
mov ebp, dword [esp + 0x8c]
mov edx, edi
lea eax, [0xa4e5e0]
movzx edi, byte [esp + 0x23]
jmp 0x7a2f73
lea ebx, [edi + 8]
mov edx, edi
mov edi, ebx
mov ebp, eax
lea eax, [0x981dbf]
call fcn.00456fe0
mov eax, ebp
mov edi, edx
lea edx, [0x981dbf]
jmp 0x7a38e2
mov ecx, eax
mov eax, dword [esp + 0x8c]
call fcn.00456fe0
mov eax, ecx
mov ecx, dword [esp + 0x8c]
jmp 0x7a38c8
mov dword [esp], ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [edx]
call eax
mov ebp, dword [esp + 0xc]
movzx esi, byte [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
jmp 0x7a2f36
call fcn.00457060
call fcn.00457060
call fcn.00457060
call fcn.00457060
mov eax, ebp
mov ecx, esi
call fcn.00457060
mov eax, ebp
mov ecx, esi
call fcn.00457060
mov eax, 4
call fcn.004570c0
nop
call fcn.004557a0
jmp fcn.007a2ef0