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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [esp + 0x9c]
mov edi, dword [ecx + 0x48]
mov ebx, dword [edi + 4]
mov dword [esp + 0x48], ebx
test eax, eax
je 0x41942e
cmp dword [edi + 0x34], 0
jne 0x41942e
mov dword [ecx + 0x1c], 3
jmp 0x4197cf
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
movzx ecx, word [esp + 0x68]
movzx esi, word [esp + 0x60]
movzx ecx, cx
movzx ebp, word [esp + 0x70]
mov dword [esp + 0x34], ecx
mov edx, esi
mov dword [esp + 0x38], esi
add ecx, esi
add ecx, ebp
mov esi, dword [esp + 0xa8]
xor edx, edx
add ecx, esi
setb dl
add ecx, ebx
adc edx, 0
add ecx, 0x2e
adc edx, 0
cmp ecx, 0xffffffff
sbb edx, 0
jb 0x419487
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x1c], 0xf
jmp 0x4197cf
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], ebx
movzx edx, word [esp + 0x88]
xorps xmm0, xmm0
movups xmmword [esp + 6], xmm0
movups xmmword [esp + 0x16], xmm0
mov word [esp + 0x26], 0
mov dword [esp + 2], 0x2014b50
xor ecx, ecx
test dx, dx
mov ebx, 0x14
cmove ebx, ecx
mov byte [esp + 8], bl
movzx ebx, word [esp + 0x8c]
mov byte [esp + 0xa], bl
mov byte [esp + 0xb], bh
movzx ebx, word [esp + 0x94]
mov byte [esp + 0xc], dl
mov byte [esp + 0xd], dh
movzx edx, word [esp + 0x90]
mov byte [esp + 0xe], dl
mov byte [esp + 0xf], dh
mov edx, dword [esp + 0x84]
mov byte [esp + 0x10], bl
mov byte [esp + 0x11], bh
mov byte [esp + 0x12], dl
mov byte [esp + 0x13], dh
mov ebx, edx
shr ebx, 0x10
mov byte [esp + 0x14], bl
mov ebx, dword [esp + 0x80]
shr edx, 0x18
mov byte [esp + 0x15], dl
mov ebp, dword [esp + 0x7c]
neg ebx
mov edx, 0
sbb edx, edx
or edx, ebp
mov byte [esp + 0x16], dl
mov byte [esp + 0x17], dh
mov ebx, edx
shr ebx, 0x10
mov byte [esp + 0x18], bl
mov ebx, dword [esp + 0x78]
shr edx, 0x18
mov byte [esp + 0x19], dl
mov edx, dword [esp + 0x74]
neg ebx
mov ebx, 0
sbb ebx, ebx
or ebx, edx
mov byte [esp + 0x1a], bl
mov byte [esp + 0x1b], bh
mov edx, ebx
shr edx, 0x10
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0xa0]
shr ebx, 0x18
mov byte [esp + 0x1d], bl
mov ebx, esi
movzx esi, word [esp + 0x68]
add ebx, esi
movzx esi, word [esp + 0x60]
mov ebp, eax
mov eax, esi
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], ah
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bh
movzx ebx, word [esp + 0x70]
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], bh
mov byte [esp + 0x28], dl
mov byte [esp + 0x29], dh
mov ebx, edx
shr ebx, 0x10
mov byte [esp + 0x2a], bl
shr edx, 0x18
mov byte [esp + 0x2b], dl
neg ebp
sbb ecx, ecx
mov eax, dword [esp + 0x98]
or ecx, eax
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], ch
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x2e], al
shr ecx, 0x18
mov byte [esp + 0x2f], cl
mov ebx, dword [edi + 4]
lea ebp, [ebx + 0x2e]
cmp dword [edi + 8], ebp
mov esi, dword [esp + 0x3c]
jae 0x41960d
mov ecx, esi
mov edx, edi
push 1
push ebp
call fcn.0042030a
add esp, 8
test eax, eax
je 0x4197a4
mov dword [edi + 4], ebp
mov eax, dword [edi + 0xc]
imul ebx, eax
add ebx, dword [edi]
imul eax, eax, 0x2e
lea ecx, [esp + 2]
push eax
push ecx
push ebx
call fcn.0043a9b0
add esp, 0xc
mov ebp, dword [edi + 4]
mov eax, dword [esp + 0x38]
lea ebx, [eax + ebp]
cmp dword [edi + 8], ebx
jae 0x419650
mov ecx, esi
mov edx, edi
push 1
push ebx
call fcn.0042030a
add esp, 8
test eax, eax
je 0x4197a4
mov dword [edi + 4], ebx
cmp word [esp + 0x60], 0
je 0x41967b
mov eax, dword [edi + 0xc]
imul ebp, eax
add ebp, dword [edi]
mov ecx, dword [esp + 0x38]
imul ecx, eax
push ecx
push dword [esp + 0x48]
push ebp
call fcn.0043a9b0
add esp, 0xc
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x34]
lea ebp, [ebx + eax]
cmp dword [edi + 8], ebp
jae 0x41969e
mov ecx, esi
mov edx, edi
push 1
push ebp
call fcn.0042030a
add esp, 8
test eax, eax
je 0x4197a4
mov dword [edi + 4], ebp
movzx eax, word [esp + 0x68]
test ax, ax
je 0x4196cb
mov eax, dword [edi + 0xc]
imul ebx, eax
add ebx, dword [edi]
mov ecx, dword [esp + 0x34]
imul ecx, eax
push ecx
push dword [esp + 0x68]
push ebx
call fcn.0043a9b0
add esp, 0xc
mov ebp, dword [edi + 4]
mov eax, dword [esp + 0xa8]
lea ebx, [eax + ebp]
cmp dword [edi + 8], ebx
jae 0x4196f1
mov ecx, esi
mov edx, edi
push 1
push ebx
call fcn.0042030a
add esp, 8
test eax, eax
je 0x4197a4
mov dword [edi + 4], ebx
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x41971e
mov eax, dword [edi + 0xc]
imul ebp, eax
add ebp, dword [edi]
imul ecx, eax
push ecx
push dword [esp + 0xa8]
push ebp
call fcn.0043a9b0
add esp, 0xc
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x30]
lea ebp, [ebx + eax]
cmp dword [edi + 8], ebp
jae 0x41973d
mov ecx, esi
mov edx, edi
push 1
push ebp
call fcn.0042030a
add esp, 8
test eax, eax
je 0x4197a4
mov dword [edi + 4], ebp
cmp word [esp + 0x70], 0
je 0x419765
mov eax, dword [edi + 0xc]
imul ebx, eax
add ebx, dword [edi]
mov ecx, dword [esp + 0x30]
imul ecx, eax
push ecx
push dword [esp + 0x70]
push ebx
call fcn.0043a9b0
add esp, 0xc
mov ebx, dword [edi + 0x14]
lea ebp, [ebx + 1]
cmp dword [edi + 0x18], ebp
jae 0x419784
lea edx, [edi + 0x10]
mov ecx, esi
push 1
push ebp
call fcn.0042030a
add esp, 8
test eax, eax
je 0x4197a4
mov dword [edi + 0x14], ebp
mov eax, dword [edi + 0x1c]
imul ebx, eax
add ebx, dword [edi + 0x10]
lea ecx, [esp + 0x48]
push eax
push ecx
push ebx
call fcn.0043a9b0
add esp, 0xc
xor eax, eax
inc eax
jmp 0x4197d1
mov ebx, dword [esp + 0x40]
cmp dword [edi + 8], ebx
jae 0x4197c5
push ebx
push dword [edi + 0xc]
push dword [edi]
push dword [esi + 0x34]
call dword [esi + 0x30]
add esp, 0x10
test eax, eax
je 0x4197c8
mov dword [edi], eax
mov dword [edi + 8], ebx
mov dword [edi + 4], ebx
mov dword [esi + 0x1c], 0x10
xor eax, eax
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret