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

Disassembly:
sub esp, 0x1c
mov edx, dword [0x4ae93c]
mov eax, dword [0x4ae8fc]
movzx ecx, word [0x4ae900]
push ebx
mov ebx, edx
inc edx
xor eax, edx
mov dword [0x4ae93c], edx
mov dword [esp + 8], eax
mov eax, dword [0x4ae8f4]
push ebp
push esi
push edi
mov esi, dword [eax + ecx*4 + 0x10]
mov ecx, dword [0x4ae90c]
mov dword [esp + 0x18], esi
lea eax, [ecx + edx*2]
movzx eax, byte [edx + eax]
mov edx, dword [0x4ae914]
imul ebp, eax, 0x16dc
movzx eax, byte [ecx + 0xef7]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [0x4ae920]
mov dword [esp + 0x20], eax
inc eax
mov dword [0x4ae920], eax
movzx eax, byte [0x4ae8f1]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + edx*4]
inc edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [0x4ae914], edx
movzx edi, word [esi]
mov dword [esp + 0x10], ebp
lea eax, [eax + eax*2]
lea esi, [ecx + eax*4]
mov eax, dword [0x4ae928]
mov ecx, edi
add ecx, ecx
movzx edx, word [eax + edx*2]
movzx eax, byte [ebp + 0xa7e8]
sub edx, eax
mov eax, edx
xor edx, edx
div dword [ebx + ecx*8]
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + edi*4]
and edx, eax
mov eax, dword [esp + 0x10]
sub edx, dword [esi]
mov dword [esi], edx
mov edx, dword [esp + 0x3c]
movzx ebx, byte [eax + 0x7ae]
mov eax, dword [esp + 0x50]
movzx ebp, byte [0x4ae8f0]
lea ecx, [edx + edx]
mov dword [esp + 0x34], ecx
imul ebx, dword [eax + 0xdfe0]
mov eax, dword [esp + 0x4c]
add eax, ecx
lea ecx, [edx*8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x40], ecx
movzx edi, word [eax]
mov eax, dword [0x4ae930]
mov esi, dword [eax + 0x19a0]
mov eax, dword [esp + 0x1c]
add esi, 0x145c
movzx edx, word [ecx + eax]
movzx eax, byte [0x4ae8f1]
movzx ecx, word [0x4ae910]
and edx, eax
mov eax, dword [0x4ae914]
xor ecx, 0x369
xor eax, dword [esp + 0x14]
push eax
push ecx
push 0x16c
push edx
push esi
push edi
push 0xc27
push ebx
push ebp
push dword [0x4ae8f8]
call fcn.00418640
mov ebx, dword [esp + 0x64]
xor edx, edx
mov ebp, dword [esp + 0x78]
add esp, 0x28
mov byte [0x4ae8f0], al
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
lea esi, [ebx*4]
div dword [ebp + ebx*4 + 0x18]
mov edx, dword [0x4ae93c]
shl ebx, 4
lea ecx, [ecx + edx*2]
movzx ecx, byte [edx + ecx]
movzx edx, ax
movzx eax, word [0x4ae904]
imul edx, ecx
movzx ecx, dx
imul ecx, eax
mov eax, dword [esp + 0x24]
mov word [0x4ae904], cx
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x30]
add eax, dword [ecx + 0x3904]
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x6ff0]
or eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv dword [esi + ecx]
mov eax, dword [0x4ae930]
mov dword [0x4ae934], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [ebx + edx]
mov dword [eax + 0xdfe4], ecx
mov eax, dword [0x4ae90c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
movzx edi, byte [eax + 0x1ac4]
mov eax, dword [esp + 0x54]
xor edi, 0x620
and edi, 0x37f8
movzx eax, word [ecx + eax + 2]
mov ecx, dword [0x4ae91c]
or eax, dword [ecx + 0x78d4]
xor eax, dword [esi + edx + 4]
xor edx, edx
mov ecx, dword [0x4ae938]
div ecx
inc ecx
xor word [0x4ae918], ax
mov eax, dword [0x4ae93c]
mov dword [0x4ae938], ecx
mov ecx, dword [esp + 0x44]
movzx ecx, word [ecx + eax*8 + 0x34]
mov eax, 0x1b71a285
or ecx, ebx
mul ecx
mov ecx, dword [esp + 0x4c]
shr edx, 9
mov dword [0x4ae924], edx
movzx ecx, word [ecx]
cmp ecx, dword [0x4ae940]
jbe 0x419145
cmp dword [0x4ae914], ebx
jbe 0x419145
xor edx, edx
mov eax, edi
mov ecx, 0x37f8
mov edi, dword [esp + 0x28]
div ecx
mov ecx, dword [esp + 0x44]
inc edx
movzx esi, dx
mov eax, esi
lea edx, [ecx + eax*2]
mov eax, dword [0x4ae918]
add eax, dword [0x4ae938]
movzx ecx, byte [edi + 0x10bc]
xor cx, ax
lea eax, [esi - 1]
sub cx, si
movzx esi, ax
or word [edx], cx
mov eax, dword [esp + 0x18]
movzx ecx, byte [esi + edi]
movzx eax, word [eax + 0x1560]
sub eax, 0x1e05
cdq
idiv ecx
mov byte [esi + edi], al
mov ecx, dword [esp + 0x40]
mov eax, 0x10f3aef3
pop edi
pop esi
imul dword [ecx + ebp]
pop ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
pop ebx
add esp, 0x1c
ret