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

Disassembly:
sub esp, 0x64
mov eax, dword [0x10093940]
xor eax, esp
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
push ebp
mov ebp, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebp
lea eax, [edx + eax*4]
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 4
mov dword [esp + 0x3c], 0x10
mov dword [esp + 0x40], 0x40
mov dword [esp + 0x44], 0x100
mov dword [esp + 0x48], 0x400
mov dword [esp + 0x2c], eax
cmp edx, eax
jae 0x1004359f
push ebx
mov ebx, dword [esp + 0x78]
mov eax, ebx
push esi
and eax, 0xaaa
lea esi, [ebp + 0x268]
push edi
mov dword [esp + 0x3c], eax
mov edi, esi
test eax, eax
je 0x10043297
mov edx, dword [ebp + 0x1d8]
mov eax, edx
shr eax, 0xf
movzx ecx, al
movzx eax, byte [ecx*4 + 0x10146d40]
mov dword [ebp + 0x40], eax
movzx eax, byte [ecx*4 + 0x100933d8]
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x1dc]
add eax, edx
xor esi, esi
mov dword [ebp + 0x1d8], eax
test dword [esp + esi + 0x40], ebx
je 0x10043281
mov ecx, edi
call fcn.10045640
jmp 0x10043283
xor eax, eax
mov dword [esp + esi + 0x58], eax
add edi, 0x298
add esi, 4
cmp esi, 0x18
jb 0x10043272
jmp 0x100432c3
xor esi, esi
nop dword [eax]
test dword [esp + esi + 0x40], ebx
je 0x100432af
mov ecx, edi
call fcn.100452b0
jmp 0x100432b1
xor eax, eax
mov dword [esp + esi + 0x58], eax
add edi, 0x298
add esi, 4
cmp esi, 0x18
jb 0x100432a0
mov al, byte [ebp + 0x1a4]
mov esi, 0
movzx ecx, word [ebp + 0x1aa]
test al, 2
movzx edx, word [ebp + 0x1b6]
mov ebx, 0
cmovne esi, ecx
mov edi, 0
test al, 1
movzx ecx, word [ebp + 0x1ac]
mov eax, 0
cmovne eax, edx
movzx edx, word [ebp + 0x1b8]
mov dword [esp + 0x24], eax
mov al, byte [ebp + 0x1a5]
test al, 2
cmovne ebx, ecx
movzx ecx, word [ebp + 0x1ae]
test al, 1
mov eax, 0
cmovne eax, edx
movzx edx, word [ebp + 0x1ba]
mov dword [esp + 0x2c], eax
mov al, byte [ebp + 0x1a6]
test al, 2
cmovne edi, ecx
movzx ecx, word [ebp + 0x1b0]
test al, 1
mov dword [esp + 0x20], edi
mov eax, 0
mov edi, 0
cmovne eax, edx
movzx edx, word [ebp + 0x1bc]
mov dword [esp + 0x34], eax
mov al, byte [ebp + 0x1a7]
mov ebp, 0
test al, 2
cmovne ebp, ecx
test al, 1
mov dword [esp + 0x18], ebp
mov eax, 0
mov ebp, dword [esp + 0x14]
cmovne eax, edx
mov dword [esp + 0x30], eax
mov al, byte [ebp + 0x1a8]
movzx ecx, word [ebp + 0x1b2]
test al, 2
movzx edx, word [ebp + 0x1be]
cmovne edi, ecx
mov cl, byte [ebp + 0x1a9]
test al, 1
mov byte [esp + 0x13], cl
mov eax, 0
cmovne eax, edx
test cl, 2
mov dword [esp + 0x28], eax
mov ecx, 0
movzx eax, word [ebp + 0x1b4]
cmovne ecx, eax
imul esi, dword [esp + 0x58]
imul ecx, dword [esp + 0x6c]
mov eax, 0x80008001
imul ebx, dword [esp + 0x5c]
imul ecx
mov eax, 0x80008001
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul esi
mov eax, 0x80008001
add edx, esi
sar edx, 0xf
mov esi, edx
add ecx, edx
imul ebx
shr esi, 0x1f
add edx, ebx
add esi, ecx
sar edx, 0xf
add esi, edx
imul edi, dword [esp + 0x68]
mov ecx, edx
mov eax, 0x80008001
shr ecx, 0x1f
add ecx, esi
imul edi
mov eax, 0x80008001
add edx, edi
sar edx, 0xf
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [esp + 0x20]
imul ecx, dword [esp + 0x60]
imul ecx
mov eax, 0x80008001
add edx, ecx
sar edx, 0xf
add esi, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [esp + 0x18]
imul esi, dword [esp + 0x64]
imul esi
add edx, esi
mov esi, dword [esp + 0x24]
sar edx, 0xf
add ecx, edx
mov eax, edx
shr eax, 0x1f
mov edx, ebp
add eax, ecx
test byte [esp + 0x13], 1
mov dword [esp + 0x18], eax
mov ecx, 0
movzx eax, word [edx + 0x1c0]
cmovne ecx, eax
imul esi, dword [esp + 0x58]
imul ecx, dword [esp + 0x6c]
mov eax, 0x80008001
imul ecx
mov eax, 0x80008001
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul esi
mov eax, 0x80008001
add edx, esi
sar edx, 0xf
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [esp + 0x28]
imul ecx, dword [esp + 0x68]
imul ecx
mov eax, 0x80008001
add edx, ecx
sar edx, 0xf
add esi, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [esp + 0x2c]
imul esi, dword [esp + 0x5c]
imul esi
mov eax, 0x80008001
add edx, esi
sar edx, 0xf
mov esi, edx
add ecx, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [esp + 0x30]
imul ecx, dword [esp + 0x64]
imul ecx
add edx, ecx
mov eax, 0x80008001
sar edx, 0xf
add esi, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [esp + 0x34]
imul esi, dword [esp + 0x60]
imul esi
add edx, esi
sar edx, 0xf
mov esi, edx
add ecx, edx
shr esi, 0x1f
mov edx, 0xffff8000
add esi, ecx
mov ecx, dword [esp + 0x1c]
movsx eax, word [ecx]
add eax, dword [esp + 0x18]
cmp eax, 0x7fff
jle 0x1004354f
mov eax, 0x7fff
jmp 0x10043557
cmp eax, 0xffff8000
cmovl eax, edx
mov word [ecx], ax
movsx eax, word [ecx + 2]
add eax, esi
cmp eax, 0x7fff
jle 0x1004356e
mov eax, 0x7fff
jmp 0x10043576
cmp eax, 0xffff8000
cmovl eax, edx
mov ebx, dword [esp + 0x80]
lea esi, [ebp + 0x268]
mov word [ecx + 2], ax
add ecx, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x38]
jb 0x10043238
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x64]
pop ebp
xor ecx, esp
call fcn.10049b12
add esp, 0x64
ret 0xc