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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x2c
mov eax, dword [ecx]
mov dword [esp + 0x14], edx
sub eax, 3
cmp eax, 0x26
jbe switch.0x004ae0e0
mov edx, dword [esp + 0x14]
add esp, 0x2c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004aad30
jmp dword [eax*4 + 0x50bc0c]
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae113
mov ebp, eax
add eax, 1
add esi, 1
mov edx, edi
cmp esi, 0xa
mov byte [ebx + ebp], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae570
cmp eax, 0xff
movzx edi, byte [esi + str.___vector_]
jne 0x4ae0f1
mov eax, dword [ebx + 0x10c]
xor ebp, ebp
mov dword [esp + 0x1c], ecx
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
mov ecx, dword [esp + 0x1c]
add dword [ebx + 0x120], 1
jmp 0x4ae0f6
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae190
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 9
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + str._restrict]
jne 0x4ae170
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae175
mov ecx, dword [ecx + 4]
jmp case.0x4ae0e0.4
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae212
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 9
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + str._volatile]
jne 0x4ae1f2
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae1f7
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae290
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 6
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + str._const]
jne 0x4ae270
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae275
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
lea esi, [eax + 1]
je 0x4ae5d2
mov byte [ebx + eax], 0x20
mov dword [ebx + 0x100], esi
mov byte [ebx + 0x104], 0x20
mov ecx, dword [ecx + 8]
jmp case.0x4ae0e0.4
test byte [esp + 0x14], 4
je 0x4ae5a8
nop
lea esi, [esi]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ae610
mov byte [ebx + eax], 0x26
mov dword [ebx + 0x100], edx
mov byte [ebx + 0x104], 0x26
jmp 0x4ae320
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae37c
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 2
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + 0x50bbe3]
jne 0x4ae360
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae365
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae3f0
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 8
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + str.complex]
jne 0x4ae3d0
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae3d5
mov eax, dword [ebx + 0x100]
xor esi, esi
jmp 0x4ae470
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 0xa
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + str.imaginary]
jne 0x4ae450
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae455
cmp byte [ebx + 0x104], 0x28
je 0x4ae4ee
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
lea esi, [eax + 1]
je 0x4ae67a
mov byte [ebx + eax], 0x20
mov dword [ebx + 0x100], esi
mov byte [ebx + 0x104], 0x20
mov ecx, dword [ecx + 4]
mov eax, ebx
xor esi, esi
mov edx, dword [esp + 0x14]
call fcn.004aad30
mov eax, dword [ebx + 0x100]
jmp 0x4ae526
mov ecx, eax
add eax, 1
add esi, 1
cmp esi, 3
mov byte [ebx + ecx], dl
mov dword [ebx + 0x100], eax
mov byte [ebx + 0x104], dl
je 0x4ae320
cmp eax, 0xff
movzx edx, byte [esi + 0x50bbfa]
jne 0x4ae506
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x1c], dl
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 1
xor ecx, ecx
add dword [ebx + 0x120], 1
movzx edx, byte [esp + 0x1c]
jmp 0x4ae50b
mov edx, dword [esp + 0x14]
mov eax, ebx
mov ecx, dword [ecx + 4]
call fcn.004aad30
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ae645
mov byte [ebx + eax], 0x29
mov dword [ebx + 0x100], edx
mov byte [ebx + 0x104], 0x29
jmp 0x4ae320
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
lea edx, [eax + 1]
je 0x4ae6b7
mov byte [ebx + eax], 0x2a
mov dword [ebx + 0x100], edx
mov byte [ebx + 0x104], 0x2a
jmp 0x4ae320
mov eax, dword [ebx + 0x10c]
mov esi, 1
mov dword [esp + 0x1c], ecx
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
mov ecx, dword [esp + 0x1c]
add dword [ebx + 0x120], 1
jmp 0x4ae2f4
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [ebx + 0x108]
mov edx, 1
xor eax, eax
add dword [ebx + 0x120], 1
jmp 0x4ae33c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [ebx + 0x108]
mov edx, 1
xor eax, eax
add dword [ebx + 0x120], 1
jmp 0x4ae592
mov eax, dword [ebx + 0x10c]
mov esi, 1
mov dword [esp + 0x1c], ecx
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
mov ecx, dword [esp + 0x1c]
add dword [ebx + 0x120], 1
jmp 0x4ae4dd
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [ebx + 0x108]
mov edx, 1
xor eax, eax
add dword [ebx + 0x120], 1
jmp 0x4ae5bc