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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x641030]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
mov ebx, dword [esp + 0x7c]
push esi
mov esi, dword [esp + 0x78]
push edi
test esi, esi
je 0x4321c9
mov edi, dword [esp + 0x80]
test edi, edi
je 0x4321c9
xor edx, edx
mov word [esp + 0x10], dx
mov eax, 0x24
mov word [esp + 0xc], ax
xor eax, eax
mov word [esp + 0x12], ax
mov ecx, 0x25
mov word [esp + 0xe], cx
mov ecx, 0x26
mov word [esp + 0x14], cx
mov eax, 0x28
mov word [esp + 0x18], ax
mov edx, 0x27
mov word [esp + 0x16], dx
xor edx, edx
mov word [esp + 0x1c], dx
mov ecx, 0x29
mov word [esp + 0x1a], cx
mov eax, 1
mov word [esp + 0x1e], ax
mov ecx, 2
mov word [esp + 0x20], cx
mov eax, 4
mov word [esp + 0x24], ax
mov edx, 3
mov word [esp + 0x22], dx
mov ecx, 5
mov word [esp + 0x26], cx
mov eax, 7
mov word [esp + 0x2a], ax
xor eax, eax
mov word [esp + 0x30], ax
mov edx, 6
mov word [esp + 0x28], dx
mov ecx, 8
mov word [esp + 0x2c], cx
xor ecx, ecx
mov word [esp + 0x32], cx
mov word [esp + 0x38], cx
mov edx, 9
mov word [esp + 0x2e], dx
xor edx, edx
mov word [esp + 0x34], dx
mov eax, 0x2a
mov word [esp + 0x36], ax
xor eax, eax
mov word [esp + 0x3a], dx
mov word [esp + 0x3c], ax
mov ecx, 0xa
mov word [esp + 0x3e], cx
mov edx, 0xb
mov word [esp + 0x40], dx
mov eax, 0xc
mov word [esp + 0x42], ax
mov ecx, 0xd
mov word [esp + 0x44], cx
mov edx, 0xe
mov word [esp + 0x46], dx
mov eax, 0xf
mov ecx, 0x10
mov word [esp + 0x48], ax
mov word [esp + 0x4a], cx
mov edx, 0x11
mov word [esp + 0x4c], dx
mov eax, 0x12
mov ecx, 0x13
mov word [esp + 0x4e], ax
mov word [esp + 0x50], cx
mov edx, 0x14
mov eax, 0x15
mov ecx, 0x16
mov word [esp + 0x52], dx
mov edx, 0x17
mov word [esp + 0x54], ax
mov word [esp + 0x56], cx
mov eax, 0x18
mov ecx, 0x19
mov word [esp + 0x58], dx
mov word [esp + 0x5a], ax
mov word [esp + 0x5c], cx
mov edx, 0x1a
mov word [esp + 0x5e], dx
mov eax, 0x1b
mov ecx, 0x1c
mov edx, 0x1d
mov word [esp + 0x60], ax
mov word [esp + 0x62], cx
mov word [esp + 0x64], dx
mov eax, 0x1e
mov ecx, 0x1f
mov edx, 0x20
mov word [esp + 0x66], ax
mov word [esp + 0x68], cx
mov word [esp + 0x6a], dx
mov eax, 0x21
mov ecx, 0x22
mov edx, 0x23
mov word [esp + 0x6c], ax
mov word [esp + 0x6e], cx
mov word [esp + 0x70], dx
cmp edi, 2
jb 0x4321c9
jmp 0x4320e0
movzx ax, byte [esi]
movzx eax, ax
cmp edi, 3
jb 0x432168
cmp ax, 0x28
jb 0x4320f8
cmp ax, 0x5a
jbe 0x4320fd
mov eax, 0x28
movzx dx, byte [esi + 1]
add eax, 0xffffffd8
inc esi
movzx ecx, ax
movzx eax, word [esp + ecx*2 + 0xc]
movzx ecx, dx
cmp cx, 0x28
jb 0x43211d
cmp cx, 0x5a
jbe 0x432122
mov ecx, 0x28
add ecx, 0xffffffd8
movzx ecx, cx
movzx edx, word [esp + ecx*2 + 0xc]
movzx cx, byte [esi + 1]
inc esi
movzx ecx, cx
cmp cx, 0x28
jb 0x432142
cmp cx, 0x5a
jbe 0x432147
mov ecx, 0x28
imul eax, eax, 0x2b
add eax, edx
imul eax, eax, 0x2b
add ecx, 0xffffffd8
movzx ecx, cx
add ax, word [esp + ecx*2 + 0xc]
mov ecx, ebx
movzx edx, ax
push edx
inc esi
call fcn.0044b810
jmp 0x4321b8
cmp ax, 0x28
jb 0x432174
cmp ax, 0x5a
jbe 0x432179
mov eax, 0x28
movzx dx, byte [esi + 1]
add eax, 0xffffffd8
inc esi
movzx ecx, ax
movzx eax, word [esp + ecx*2 + 0xc]
movzx ecx, dx
cmp cx, 0x28
jb 0x432199
cmp cx, 0x5a
jbe 0x43219e
mov ecx, 0x28
mov dl, 0x2b
imul dl
add ecx, 0xffffffd8
movzx ecx, cx
add al, byte [esp + ecx*2 + 0xc]
mov ecx, ebx
movzx eax, al
push eax
inc esi
call fcn.00447e40
cmp edi, 3
jbe 0x4321c9
sub edi, 3
cmp edi, 2
jae 0x4320e0
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebx
xor ecx, esp
mov al, 1
call fcn.005550b0
add esp, 0x6c
ret