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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
movzx eax, byte [edx + 0x138]
mov esi, ecx
mov ecx, dword [ebp + 8]
mov edi, edx
cmp al, 0x4c
jne 0x419c92
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x4199ac
mov ecx, dword [edi + 0xe0]
lea eax, [edi + 0xa8]
test ecx, ecx
mov dword [esp + 0x6c], ecx
je 0x4199c2
mov ecx, dword [edi + 0xe4]
mov dword [esp + 0x60], ecx
jmp 0x4199c2
mov byte [edi + 0x138], 0x4b
mov dword [edi + 0x13c], 0
jmp 0x419c96
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc0]
mov ebx, dword [edi + 0xc4]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x64], ecx
mov ecx, dword [edi + 0xf0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x70]
mov eax, dword [eax]
add ecx, 8
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x80], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x34], eax
call fcn.00411be0
movzx ecx, byte [esp + 0x18]
movzx eax, byte [esp + 0x19]
cmp cl, 0x4b
mov dword [esp], ecx
jne 0x419a70
test al, al
je 0x419b01
cmp dword [esp + 0x80], 0
je 0x419db5
cmp word [edi + 0xca], 5
lea edx, [esp + 0x80]
lea ebx, [esp + 0x40]
jae 0x419b23
lea ecx, [esp + 0x38]
push 0x2130
jmp 0x419b29
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], eax
movzx edx, word [esp + 0x1e]
mov eax, dword [esp + 0x1a]
xor ebx, ebx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov ecx, 1
shld edx, eax, 0x10
or ecx, ebx
je 0x419c08
movzx ecx, byte [esp + 4]
shl eax, 8
or ecx, eax
cmp byte [esp], 0x4b
jne 0x419c4f
mov ecx, dword [esp + 0x34]
lock inc dword [ecx]
jle 0x419db3
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], edx
mov edx, dword [esp + 8]
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov dword [esi], 0
jmp 0x419d2c
mov al, 0x2e
mov dword [esp + 4], 0
xor edx, edx
xor ecx, ecx
mov dword [esp], eax
xor eax, eax
xor ebx, ebx
shld edx, eax, 0x10
or ecx, ebx
jne 0x419aa0
jmp 0x419c08
lea ecx, [esp + 0x38]
push 0x76
call fcn.00412a10
add esp, 4
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, eax
xor edx, 0x2f
or edx, ecx
jne 0x419b87
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp], ecx
mov edx, eax
shld eax, ecx, 0x10
mov ecx, 1
shr edx, 0x10
mov dword [esp + 8], ebx
mov ebx, dword [esp]
mov bl, bh
mov dword [esp + 4], ebx
xor ebx, ebx
shld edx, eax, 0x10
or ecx, ebx
jne 0x419aa0
jmp 0x419c08
mov edx, eax
xor edx, 0x2e
or edx, ecx
jne 0x419ba3
mov al, 0x2e
mov dword [esp + 4], 0
xor edx, edx
mov dword [esp], eax
xor eax, eax
jmp 0x419be8
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x18]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
call fcn.004111b0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, eax
shld eax, ecx, 0x10
mov dword [esp], ecx
mov cl, ch
shr edx, 0x10
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], ecx
xor ecx, ecx
xor ebx, ebx
shld edx, eax, 0x10
or ecx, ebx
jne 0x419aa0
movzx ecx, byte [esp + 4]
shl eax, 0x10
mov dword [esp + 0x1c], edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esp]
or eax, ecx
mov dword [esp + 0x18], eax
xor eax, 0x2e
or eax, edx
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov al, 0x4b
mov dword [esp], eax
jne 0x419d34
xor edx, edx
cmp byte [esp], 0x4b
je 0x419ab4
movzx eax, byte [edi + 0x138]
cmp al, 0x4c
jne 0x419c8f
mov ebx, dword [esp]
mov eax, dword [esp + 8]
mov byte [edi + 0x138], bl
mov word [edi + 0x139], cx
shr ecx, 0x10
mov byte [edi + 0x13b], cl
mov dword [edi + 0x13c], edx
mov dword [edi + 0x140], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x144], eax
mov eax, ebx
mov ecx, dword [ebp + 8]
cmp al, 0x4b
jne 0x419cad
mov ebx, dword [edi + 0x13c]
test ebx, ebx
je 0x419cef
mov ecx, dword [ebx]
add ebx, 8
mov dl, 2
mov al, 0x4b
mov edi, ebx
jmp 0x419cf5
movzx ecx, byte [edi + 0x13b]
mov byte [esp + 0x16], cl
movzx ecx, word [edi + 0x139]
mov word [esp + 0x14], cx
mov ah, byte [edi + 0x143]
mov ecx, dword [edi + 0x13c]
movzx edx, byte [edi + 0x140]
mov byte [esp + 0x12], ah
movzx ebx, word [edi + 0x141]
mov word [esp + 0x10], bx
mov edi, dword [edi + 0x144]
jmp 0x419cf8
mov ecx, dword [ecx]
mov al, 0x4b
xor edx, edx
add ecx, 8
mov byte [esi + 8], al
movzx eax, word [esp + 0x14]
movzx ebx, byte [esp + 0x16]
mov word [esi + 9], ax
mov byte [esi + 0xb], bl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x10], dl
movzx edx, word [esp + 0x10]
movzx ecx, byte [esp + 0x12]
mov word [esi + 0x11], dx
mov byte [esi + 0x13], cl
mov dword [esi + 0x14], edi
mov dword [esi], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x34]
movzx ebx, byte [edi + 0xc9]
lea ecx, [esp + 0x70]
lea edx, [eax + 8]
lea eax, [esp + 0x18]
push eax
push dword [edi + 0xf4]
push ebx
call fcn.004152c0
add esp, 0xc
movzx eax, byte [esp + 0x70]
cmp al, 0x4b
jne 0x419d7e
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [esp + 8], eax
cmp byte [esp], 0x4b
je 0x419ab4
jmp 0x419c4f
movzx edx, byte [esp + 0x73]
mov ebx, dword [esp + 0x78]
movzx ecx, word [esp + 0x71]
mov dword [esp], eax
shl edx, 0x10
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x7c]
or ecx, edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
cmp byte [esp], 0x4b
jne 0x419c4f
jmp 0x419ab4
ud2
push 0x49f270
call fcn.0047ea20
nop