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

Disassembly:
sub esp, 0x244
push ebx
push ebp
push esi
push edi
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x39]
mov byte [esp + 0x38], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x20729a6c]
mov ecx, 0x18
mov byte [esp + 0x88], al
xor eax, eax
lea edi, [esp + 0x89]
mov ebp, 1
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x260]
test eax, eax
jne 0x20765c2c
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x244
ret
mov byte [eax], 0
call fcn.20753840
cmp eax, 1
jne 0x20765c3b
xor ebp, ebp
call fcn.20754300
test eax, eax
je 0x20765c49
mov ebp, 1
mov ebx, dword [esp + 0x25c]
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0xec]
rep stosd dword es:[edi], eax
lea edi, [ebx + 2]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xec]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x20716344
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [fcn.20ad6438]
lea ecx, [esp + 0xf0]
push ecx
call esi
add esp, 8
test eax, eax
jne 0x20765cc9
cmp ebp, 1
jne 0x20765cc9
mov edx, dword [esp + 0x260]
mov eax, dword [esp + 0x258]
push edx
push eax
call fcn.20772f80
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret
lea ecx, [esp + 0xec]
push 0x20716344
push ecx
call esi
add esp, 8
test eax, eax
jne 0x20765d41
test ebp, ebp
jne 0x20765d41
mov edi, 2
push 0x64
cmp word [ebx + 0x8c], di
jne 0x20765d05
lea edx, [esp + 0x8c]
push edx
call fcn.20754110
add esp, 8
jmp 0x20765d71
lea eax, [esp + 0x8c]
push eax
call fcn.208486d6
cmp eax, 0xffffffff
jne 0x20765d71
mov ecx, dword [0x207164c8]
mov edx, dword [0x207164cc]
mov ax, word [0x207164d0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov word [esp + 0x90], ax
jmp 0x20765d71
lea edi, [esp + 0xec]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x88]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 2
call fcn.20753ec0
xor ecx, ecx
mov cx, word [ebx + 0x8c]
dec ecx
cmp ecx, 7
ja case.0x20765d85.3
jmp dword [ecx*4 + 0x207663e8]
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x258]
push ecx
push ebx
push edx
call fcn.207664e0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret
and eax, 1
cmp al, 1
jne 0x20765dc7
mov dword [esp + 0x10], 1
jmp 0x20765df5
and eax, edi
cmp al, 2
je 0x20765df1
pop edi
pop esi
pop ebp
mov eax, 0x4c
pop ebx
add esp, 0x244
ret
mov ecx, eax
and ecx, 1
cmp cl, 1
jne 0x20765deb
mov dword [esp + 0x10], 1
jmp 0x20765df5
and eax, edi
cmp al, 2
jne 0x20765dc7
mov dword [esp + 0x10], edi
lea edx, [esp + 0x88]
push edx
call fcn.20753f20
add esp, 4
test eax, eax
jne 0x20765e14
test byte [esp + 0x10], 2
je 0x20765e14
mov dword [esp + 0x10], edi
push ebx
call fcn.20764d10
add esp, 4
cmp eax, 0xffffffff
jne 0x20765e5d
cmp dword [esp + 0x10], edi
jne 0x20765e32
push 0x3e8
push edi
push 6
jmp 0x20765e36
push 0x11
push edi
push edi
call fcn.20754670
add esp, 0xc
cmp eax, 0xffffffff
jne 0x20765e53
pop edi
pop esi
pop ebp
mov eax, 0x3f
pop ebx
add esp, 0x244
ret
push eax
push ebx
call fcn.20764d30
add esp, 8
mov eax, dword [esp + 0x10]
push 0
cmp eax, edi
jne 0x20765e90
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x8c]
push eax
push ecx
call fcn.20754050
add esp, 0xc
test eax, eax
je 0x20765ead
pop edi
pop esi
pop ebp
mov eax, 0x3d
pop ebx
add esp, 0x244
ret
lea edx, [esp + 0x3c]
lea eax, [esp + 0x8c]
push edx
push eax
call fcn.20753c80
add esp, 0xc
test eax, eax
jne 0x20766005
mov eax, dword [0x2071761c]
test eax, eax
je 0x20765ece
call fcn.20766410
push eax
call fcn.207676f0
add esp, 4
mov dword [0x2071761c], 0
call fcn.20799710
mov dword [0x2072a374], eax
call fcn.20766410
cmp dword [eax], 0
je 0x20765f44
mov esi, dword [int.20ad6060]
call esi
cmp eax, 0x80000000
jb 0x20765f44
call esi
cmp eax, 0x80000000
jb 0x20765f00
call esi
cmp al, 4
jb 0x20765f44
cmp dword [esp + 0x10], edi
jne 0x20765f44
push ebx
call fcn.20764d10
add esp, 4
push eax
call fcn.208486a0
push 0x3e8
push edi
push 6
call fcn.20754670
add esp, 0xc
cmp eax, 0xffffffff
jne 0x20765f3a
pop edi
pop esi
pop ebp
mov eax, 0x3f
pop ebx
add esp, 0x244
ret
push eax
push ebx
call fcn.20764d30
add esp, 8
lea ecx, [esp + 0x38]
push ecx
call fcn.20766410
mov edx, dword [eax]
push edx
call fcn.20766420
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x2076604f
push 0x58
call dword [fcn.20ad6440]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x20765f84
pop edi
pop esi
pop ebp
mov eax, 0x40
pop ebx
add esp, 0x244
ret
cmp dword [esp + 0x10], edi
jne 0x20765fc2
lea esi, [ebp + 8]
xor eax, eax
mov ecx, esi
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov word [esi], 6
call fcn.20764d80
push eax
call fcn.207547a0
lea edx, [esp + 0x3c]
push esi
push edx
mov word [esi + 0xc], ax
call fcn.20753fc0
add esp, 0xc
test eax, eax
jmp 0x20765ff9
lea eax, [ebp + 8]
xor ecx, ecx
mov edx, eax
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov word [eax], di
call fcn.20764d80
push eax
call fcn.207547a0
mov word [ebp + 0xa], ax
lea eax, [esp + 0x3c]
push eax
call fcn.20754620
add esp, 8
mov dword [ebp + 0xc], eax
cmp eax, 0xffffffff
jne 0x20766015
push ebp
call dword [fcn.20ad643c]
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x3d
pop ebx
add esp, 0x244
ret
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp], 1
call fcn.20766410
push eax
call fcn.20767700
add esp, 8
mov esi, dword [esp + 0x258]
mov dword [0x2072a368], 0x2c6
mov ecx, dword [ebp]
mov edi, esi
and ecx, 0x1fff
xor eax, eax
mov dword [0x2072a36c], ecx
or ecx, 0xffffffff
mov dword [0x2072a370], 0
repne scasb al, byte es:[edi]
not ecx
cmp ecx, 0x3e8
ja 0x2076609f
mov edx, ecx
mov edi, 0x2072a378
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0xfe
xor eax, eax
mov edi, 0x20729f68
rep stosd dword es:[edi], eax
lea eax, [esp + 0x2c]
push eax
call fcn.20765bb0
mov ecx, 0xfe
xor eax, eax
mov edi, 0x2072a768
mov dword [esp + 0x1c], 0
rep stosd dword es:[edi], eax
mov ecx, dword [0x2072a368]
mov dword [esp + 0x18], 1
push ecx
call fcn.207547d0
mov edx, dword [0x2072a36c]
mov dword [0x2072a768], eax
push edx
call fcn.207547d0
mov dword [0x2072a76c], eax
mov eax, dword [0x2072a370]
push eax
call fcn.207547d0
mov ecx, dword [0x2072a374]
mov dword [0x2072a770], eax
push ecx
call fcn.207547d0
mov dword [0x2072a774], eax
mov edi, 0x2072a378
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x2c]
mov edx, ecx
mov esi, edi
mov edi, 0x2072a778
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 3
jge 0x2076639e
mov eax, dword [esp + 0x10]
mov esi, 2
cmp eax, esi
mov eax, dword [esp + 0x14]
jne 0x20766196
test eax, eax
je 0x207661c9
lea ecx, [ebp + 8]
push 0x10
push ecx
push 0
push 0x3f8
push 0x2072a768
push ebx
call fcn.20764d10
add esp, 4
push eax
call fcn.208486d0
cmp eax, 0x3f8
jne 0x20766369
jmp 0x207661c9
test eax, eax
je 0x207661c9
lea edx, [ebp + 8]
push 0x10
push edx
push 0
push 0x3f8
push 0x2072a768
push ebx
call fcn.20764d10
add esp, 4
push eax
call fcn.20754720
add esp, 0x18
cmp eax, 0x3f8
jne 0x2076636e
xor edi, edi
push ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x154], edi
call fcn.20764d10
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x28], edi
mov dword [esp + ecx*4 + 0x154], eax
mov ecx, dword [esp + 0x150]
mov eax, dword [edx]
inc ecx
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x24]
push ecx
push edi
lea edx, [esp + 0x158]
push edi
push edx
push ebx
mov dword [esp + 0x38], eax
call fcn.20764d10
add esp, 4
inc eax
push eax
call fcn.207546a0
add esp, 0x14
cmp eax, 0xffffffff
je 0x2076638e
cmp eax, edi
je 0x2076634c
mov ecx, 0xfe
xor eax, eax
mov edi, 0x2072a768
mov dword [esp + 0x20], 0x10
rep stosd dword es:[edi], eax
cmp dword [esp + 0x10], esi
jne 0x20766281
push 0
push 0x3f8
push 0x2072a768
push ebx
call fcn.20764d10
add esp, 4
push eax
call fcn.208486be
cmp eax, 0x3f8
jne 0x2076637e
jmp 0x207662b2
lea eax, [esp + 0x20]
lea ecx, [esp + 0x78]
push eax
push ecx
push 0
push 0x3f8
push 0x2072a768
push ebx
call fcn.20764d10
add esp, 4
push eax
call fcn.20754760
add esp, 0x18
cmp eax, 0xffffffff
je 0x2076637e
mov edx, dword [0x2072a768]
push edx
call fcn.207547d0
mov dword [0x20729f68], eax
mov eax, dword [0x2072a76c]
push eax
call fcn.207547d0
mov ecx, dword [0x2072a770]
mov dword [0x20729f6c], eax
push ecx
call fcn.207547d0
mov edx, dword [0x2072a774]
mov dword [0x20729f70], eax
push edx
call fcn.207547d0
mov dword [0x20729f74], eax
mov edi, 0x2072a778
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x20729f78
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x10]
and ecx, 3
cmp eax, 1
rep movsb byte es:[edi], byte [esi]
jne 0x20766338
mov eax, dword [ebp + 0xc]
lea edx, [ebp + 0xc]
lea ecx, [esp + 0x7c]
cmp eax, dword [ecx]
jne 0x20766148
mov ecx, dword [0x20729f6c]
mov eax, dword [0x2072a36c]
cmp ecx, eax
je 0x207663ae
jmp 0x20766148
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], ecx
add eax, 4
jmp 0x20766144
call fcn.208486b2
pop edi
pop esi
pop ebp
mov eax, 0x3e
pop ebx
add esp, 0x244
ret
pop edi
pop esi
pop ebp
mov eax, 0x6c
pop ebx
add esp, 0x244
ret
pop edi
pop esi
pop ebp
mov eax, 0x6d
pop ebx
add esp, 0x244
ret
pop edi
pop esi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x244
ret
mov ecx, dword [ebp]
mov edi, 0x20729f78
inc ecx
xor eax, eax
mov dword [ebp], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x260]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret