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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xd8]
cmp eax, dword [ecx + 8]
jbe 0x6adf4d
sub esp, 0x158
mov edx, dword [esp + 0x15c]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6ad750
mov eax, dword [esp]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x5c], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x6ad7b4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x158
ret
mov edi, dword [esp + 0x88]
lea edx, [edi + 1]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x5c]
mov edi, ebx
mov ebx, esi
mov esi, edi
cmp edx, ecx
jge 0x6ade47
mov dword [esp + 0x88], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe4], esi
mov dword [esp + 0x78], ebp
lea ecx, [eax + edx*8]
mov ebx, dword [ecx]
mov dword [esp + 0x60], ebx
mov ecx, dword [ecx + 4]
mov dword [esp + 0xd4], ecx
mov ebp, dword [ebx + 0x10]
mov dword [esp], ecx
call ebp
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x14], ebx
call fcn.006adf60
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x6addfe
movzx eax, byte [esp + 0x18]
test al, al
jne 0x6ad85c
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0xe4]
jmp 0x6ad799
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xe0], ecx
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x14]
mov esi, dword [esp + 0xe0]
mov dword [esp], esi
call ebp
mov dword [esp], 0
call fcn.00452560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x14]
lea edi, [esp + 0xf8]
mov ebx, eax
xor eax, eax
call fcn.004690f7
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xf8], ecx
mov ebp, dword [esp + 0x170]
mov dword [esp + 0xfc], ebp
lea esi, [0x73d923]
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], 0xe
lea edi, [0x73ba7f]
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], 9
mov esi, dword [esp + 0x160]
mov dword [esp], esi
mov esi, dword [esp + 0x164]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x168]
mov dword [esp + 8], esi
lea edi, [esp + 0xc]
lea esi, [esp + 0xf8]
call fcn.004695b6
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x44], ebx
call fcn.006af1b0
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0xd4]
mov dword [esp], ebp
mov ebp, dword [esp + 0x17c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x180]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x6addb5
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], ecx
nop
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.004690f0
lea ecx, [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
lea ecx, [0x6e5e40]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x10], edx
call fcn.006bc980
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], ecx
lea edx, [ecx + 4]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xcc], ebx
lea ebp, [0x6f4820]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044e560
nop
mov ecx, dword [esp + 0x54]
test ecx, ecx
jbe 0x6adf43
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x70]
mov ebp, ebx
sar ebx, 0x18
mov byte [edx], bl
cmp ecx, 1
jbe 0x6adf37
mov ebx, ebp
sar ebp, 0x10
xchg ebp, eax
mov byte [edx + 1], al
xchg ebp, eax
cmp ecx, 2
jbe 0x6adf2b
mov ebp, ebx
sar ebx, 8
mov byte [edx + 2], bl
cmp ecx, 3
jbe 0x6adf1f
mov dword [esp + 0xf0], edx
xchg ebp, eax
mov byte [edx + 3], al
xchg ebp, eax
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 4
lea ebx, [edx + ebp]
mov ebp, dword [esp + 0xcc]
cmp ebp, ebx
je 0x6adae2
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004697f0
lea eax, [0x721780]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 4]
mov dword [esp + 0xf4], ecx
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
lea edi, [esp + 0x11c]
lea esi, [0x7b2c74]
call fcn.0046957a
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x170]
mov dword [esp + 0x120], edx
lea ebx, [0x73ba7f]
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], 9
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], eax
mov eax, dword [0x995310]
test eax, eax
je 0x6adbea
lea eax, [0x721780]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
lea ecx, [esp + 0x11c]
mov dword [esp + 8], ecx
call fcn.00411b70
mov edi, dword [esp + 0xf4]
lea esi, [esp + 0x11c]
call fcn.0046957a
nop
lea eax, [0x6f4820]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
call fcn.0044e560
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
lea eax, [0x6e6a00]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x10], ecx
call fcn.006bc980
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x178]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call edx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6add6c
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.006ae420
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x6add2b
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp eax, 2
je 0x6ade84
mov dword [esp + 0x7c], esi
mov dword [esp + 0x74], ebp
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
xor edi, edi
jmp 0x6adec4
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x7c]
jl 0x6ad799
jmp 0x6ade84
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
add esp, 0x158
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x158
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x158
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x158
ret
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], esi
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x158
ret
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
add esp, 0x158
ret
inc edi
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
cmp edi, ebp
jge 0x6add20
lea edx, [ebx + edi*8]
mov ecx, dword [edx + 4]
cmp ecx, 9
jne 0x6adeb5
mov dword [esp + 0x84], edi
mov eax, dword [edx]
mov dword [esp], eax
lea eax, [0x73ba7f]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004034e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x6adcf2
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x84]
jmp 0x6adeb5
mov eax, 3
mov ecx, eax
call fcn.00468ed0
mov eax, 2
mov ecx, eax
call fcn.00468ed0
mov eax, 1
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.006ad700