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

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
and esp, 0xfffffff8
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x94]
mov edx, ecx
xor edx, 0x418389c3
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], 0x632ff71a
mov word [esp + 0x9a], 0xd794
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
call fcn.00401280
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
xor edx, 0x632ff71a
mov dword [esp + 0x74], edx
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jmp 0x407a85
mov eax, 0x30c7f09b
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x94], eax
mov al, byte [esp + 0x87]
mov ah, 0xa0
mul ah
mov byte [esp + 0x87], al
cmp edx, 0x11
jae 0x40799a
mov ax, word [esp + 0x9a]
mov cl, byte [esp + 0x87]
not cl
mov byte [esp + 0x87], cl
imul ax, ax, 0x33e7
mov word [esp + 0x9a], ax
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x80]
lea esi, [esi + esi*8]
shl esi, 4
mov edi, dword [edx + esi + 0x6c]
mov byte [esp + 0x87], 0x27
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x28]
and edi, 0x7b284bdc
mov ebx, dword [edx + esi + 0x8c]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x60], ebx
mov edx, dword [edx + esi + 0x68]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
xor edx, esi
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x68]
mov cl, byte [esp + 0x87]
and cl, 0xda
mov byte [esp + 0x87], cl
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x28]
add edi, 0x5c70e98
mov ebx, dword [esp + 0x24]
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x60]
xor ebx, ebx
mov ecx, 0xe3e0ea7
mov eax, dword [esp + 0x28]
sub ecx, eax
mov eax, dword [esp + 0x24]
sbb ebx, eax
add edx, esi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov al, byte [esp + 0x87]
mov ah, 0x97
mul ah
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x87], al
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.004085c0
mov ecx, dword [esp + 0x74]
add ecx, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov al, byte [esp + 0x87]
and al, 0x18
mov byte [esp + 0x87], al
jmp 0x407b51
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
mov word [esp + 0x9a], 0xb681
imul eax, eax, 0x90
add ecx, eax
mov eax, dword [esp + 0x2c]
imul edx, eax, 0x48146355
mov dword [esp + 0x94], edx
mov bl, byte [esp + 0x87]
add bl, byte [esp + 0x87]
mov ecx, dword [ecx + 0x6c]
mov byte [esp + 0x87], bl
mov dword [esp + 0x34], ecx
mov si, word [esp + 0x9a]
and si, word [esp + 0x9a]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov word [esp + 0x9a], si
imul ecx, ecx, 0x90
add edx, ecx
mov ecx, dword [edx + 0x68]
mov dword [esp + 0x38], ecx
mov bl, byte [esp + 0x87]
and bl, byte [esp + 0x87]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov byte [esp + 0x87], bl
or eax, 0x3b4404b2
xor ecx, edx
mov dword [esp + 0x94], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x5c], eax
jmp 0x407a4e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00407ff0
xor eax, eax
mov bl, byte [esp + 0x87]
mov byte [esp + 0x87], bl
mov ecx, dword [esp + 0x68]
add ecx, 0x2f2b
mov bl, byte [esp + 0x87]
or bl, byte [esp + 0x87]
mov byte [esp + 0x87], bl
mov edx, dword [ebp + 8]
mov dword [edx + 0x1c], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x90]
xor edx, 0x632e271a
mov dword [ecx + 0xc], edx
mov si, word [esp + 0x9a]
mov word [esp + 0x9a], si
mov ecx, dword [ebp + 8]
mov si, word [esp + 0x9a]
mov edx, dword [esp + 0x68]
add edx, 0x671
mov word [esp + 0x9a], si
mov bl, byte [esp + 0x87]
mov byte [esp + 0x87], bl
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x2030
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov al, byte [esp + 0x87]
xor al, 0x39
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x87], al
inc ecx
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x88], 0x9d58b478
mov dword [esp + 0x6c], ecx
mov byte [esp + 0x87], 0x48
mov al, byte [esp + 0x87]
and al, 0x30
mov byte [esp + 0x87], al
cmp dword [esp + 0x6c], 0x11
jb 0x4078e4
xor eax, eax
mov ecx, 0x1000
mov edx, 4
mov esi, esp
lea edi, [esp + 0x3c]
mov dword [esi], edi
mov dword [esi + 8], 0xe
mov dword [esi + 4], 0x40a099
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edi
call fcn.00408d70
mov eax, esp
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
call fcn.00408720
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
add edx, 0x1515d76a
mov esi, dword [esp + 0x24]
adc esi, 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edx
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], 4
call ecx
sub esp, 0x10
mov dword [esp + 0x68], eax
mov bl, byte [esp + 0x87]
mov byte [esp + 0x87], bl
mov dword [esp + 0x80], 0
jmp 0x407787
mov eax, dword [esp + 0x80]
add eax, 1
mov dword [esp + 0x80], eax
jmp 0x407787