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

Disassembly:
xor ecx, ecx
lea eax, [ebx + 1]
cmp ecx, dword [esp]
je 0x20403184
mov ebx, eax
mov eax, dword [esp + 4]
mov edi, dword [eax + ebx*4]
add edi, dword [esp + 0x14]
mov ecx, esi
call fcn.20404586
mov ecx, edi
call fcn.204045c6
test eax, eax
je 0x204030b2
nop
nop
nop
movsx ecx, byte [edi + eax]
mov word [esp + eax*2 + 0x54], cx
dec eax
jne 0x204030a6
movsx eax, byte [edi]
mov word [esp + 0x54], ax
mov ecx, esi
call fcn.204045f6
test eax, eax
je 0x20403076
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x28]
xor ecx, ecx
mov edi, esi
nop
nop
nop
nop
nop
nop
imul ecx, edx
movzx ebp, word [edi]
add ecx, ebp
add edi, 2
dec eax
jne 0x204030d6
jmp 0x20403078
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, ecx
mov edx, dword [esp + 0xc]
and al, 0xc
add edx, ecx
movzx eax, word [eax + ebx*2]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x100]
mov dword [esp], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
mov edx, dword [ecx + eax + 0x20]
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [ecx + eax + 0x1c]
mov dword [esp + 0xc], edx
mov eax, dword [ecx + eax + 0x24]
mov dword [esp + 0x18], eax
xor eax, eax
lea esi, [esp + 0x54]
jmp 0x204031e0
xor ecx, ecx
lea eax, [ebx + 1]
cmp ecx, dword [esp]
je 0x20403246
mov ebx, eax
mov eax, dword [esp + 4]
mov edi, dword [eax + ebx*4]
add edi, dword [esp + 0x14]
mov ecx, esi
call fcn.20404586
mov ecx, edi
call fcn.204045c6
test eax, eax
je 0x20403212
nop
nop
nop
nop
nop
nop
nop
movsx ecx, byte [edi + eax]
mov word [esp + eax*2 + 0x54], cx
dec eax
jne 0x20403206
movsx eax, byte [edi]
mov word [esp + 0x54], ax
mov ecx, esi
call fcn.204045f6
test eax, eax
je 0x204031d6
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x28]
xor ecx, ecx
mov edi, esi
nop
nop
nop
nop
nop
nop
imul ecx, edx
movzx ebp, word [edi]
add ecx, ebp
add edi, 2
dec eax
jne 0x20403236
jmp 0x204031d8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, ecx
mov edx, dword [esp + 0xc]
add edx, ecx
movzx eax, word [eax + ebx*2]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x124]
mov dword [esp], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
mov edx, dword [ecx + eax + 0x20]
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [ecx + eax + 0x1c]
mov dword [esp + 0xc], edx
mov eax, dword [ecx + eax + 0x24]
mov dword [esp + 0x18], eax
xor eax, eax
lea esi, [esp + 0x54]
jmp 0x204032b0
xor ecx, ecx
lea eax, [ebx + 1]
cmp ecx, dword [esp]
je 0x20403316
mov ebx, eax
mov eax, dword [esp + 4]
mov edi, dword [eax + ebx*4]
add edi, dword [esp + 0x14]
mov ecx, esi
call fcn.20404586
mov ecx, edi
call fcn.204045c6
test eax, eax
je 0x204032e2
nop
nop
nop
nop
nop
nop
nop
movsx ecx, byte [edi + eax]
mov word [esp + eax*2 + 0x54], cx
dec eax
jne 0x204032d6
movsx eax, byte [edi]
mov word [esp + 0x54], ax
mov ecx, esi
call fcn.204045f6
test eax, eax
je 0x204032a6
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x28]
xor ecx, ecx
mov edi, esi
nop
nop
nop
nop
nop
nop
imul ecx, edx
movzx ebp, word [edi]
add ecx, ebp
add edi, 2
dec eax
jne 0x20403306
jmp 0x204032a8
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add edx, eax
mov ecx, dword [esp + 0xc]
add ecx, eax
movzx eax, word [edx + ebx*2]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x104]
mov dword [esp], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
mov edx, dword [ecx + eax + 0x20]
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [ecx + eax + 0x1c]
mov dword [esp + 0xc], edx
mov eax, dword [ecx + eax + 0x24]
mov dword [esp + 0x18], eax
xor eax, eax
lea esi, [esp + 0x54]
jmp 0x20403380