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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [0x459178]
xor eax, esp
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [ebp + 0x10]
push edi
mov dword [esp + 0x24], ecx
lea ecx, [esi - 8]
mov dword [esp + 0x1c], esi
push eax
mov dword [esp + 0x34], ecx
call fcn.0041a496
mov ebx, eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], ebx
call fcn.00408d88
lea edi, [ebx + 0x68]
push ecx
mov ecx, edi
call fcn.00408e5e
test al, al
je 0x419a36
mov ecx, edi
call fcn.00408d9a
mov esi, eax
lea ecx, [esp + 0x18]
mov edi, dword [esi]
call fcn.00402180
push eax
push 0x410
mov ecx, esi
call dword [edi]
test eax, eax
je 0x419a2f
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041b204
mov esi, dword [esp + 0x1c]
lea edi, [ebx + 0x68]
mov eax, dword [ebp + 0xc]
mov byte [esp + 0x28], 0
push ecx
lea ecx, [esp + 0x1c]
test eax, eax
je 0x419ab6
dec eax
cmp eax, 6
ja 0x419a78
call fcn.00408e5e
test al, al
je 0x419ae0
lea ecx, [esp + 0x18]
call fcn.00408d9a
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041b204
jmp 0x419ae0
call fcn.00408e5e
test al, al
je 0x419a9d
lea ecx, [esp + 0x18]
call fcn.00408d9a
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041b204
and dword [ebx + 0x60], 0
mov ecx, edi
and dword [ebx + 0x64], 0
call fcn.0041b21b
mov edi, 0x80004005
jmp 0x41a124
call fcn.00408e5e
test al, al
je 0x419adb
lea ecx, [esp + 0x18]
call fcn.00408d9a
push 1
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041b204
mov byte [esp + 0x28], 1
push ecx
mov ecx, edi
call fcn.00408e5e
test al, al
je 0x419cd6
mov dl, byte [esi + 0x64]
xor edi, edi
mov dword [esp + 0x10], edi
test dl, dl
jne 0x419b07
cmp byte [esi + 0x66], dl
jne 0x419b07
cmp byte [esi + 0x65], dl
je 0x419b7d
mov cl, byte [esi + 0x66]
test cl, cl
je 0x419b1c
cmp byte [ebx + 0x92], 0
je 0x419b1c
lea edi, [ebx + 0x7c]
jmp 0x419b29
xor edi, edi
lea eax, [esi + 0xb0]
test cl, cl
cmovne edi, eax
cmp byte [esi + 0x65], 0
je 0x419b41
cmp byte [ebx + 0x91], 0
je 0x419b41
lea eax, [ebx + 0x74]
mov dword [esp + 0x14], eax
jmp 0x419b46
and dword [esp + 0x14], 0
test dl, dl
je 0x419b5c
cmp byte [ebx + 0x90], 0
je 0x419b5c
lea eax, [ebx + 0x6c]
mov dword [esp + 0x10], eax
jmp 0x419b61
and dword [esp + 0x10], 0
lea ecx, [ebx + 0x68]
call fcn.00408d9a
push edi
push dword [esp + 0x18]
mov ecx, eax
mov edx, dword [eax]
push dword [esp + 0x18]
call dword [edx + 0x1c]
mov dword [esp + 0x10], eax
lea edi, [ebx + 0x68]
mov ecx, edi
call fcn.00408d9a
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
cmp byte [esp + 0x28], 0
mov ecx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], ecx
jne 0x419bb8
mov ecx, edi
call fcn.00408d9a
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x419ca3
cmp dword [ebx + 0x64], 0
ja 0x419bc8
cmp dword [ebx + 0x60], 0
jbe 0x419ca3
cmp ecx, dword [ebx + 0x64]
ja 0x419c9b
jb 0x419bdc
cmp eax, dword [ebx + 0x60]
jae 0x419c9b
lea ecx, [esp + 0x14]
call fcn.00408d88
mov ecx, edi
call fcn.00408d9a
mov esi, eax
lea ecx, [esp + 0x14]
mov edi, dword [esi]
call fcn.00402180
push eax
push 0x40c
mov ecx, esi
call dword [edi]
push ecx
lea ecx, [esp + 0x18]
call fcn.00408e5e
test al, al
je 0x419c8b
xorps xmm0, xmm0
lea ecx, [esp + 0x14]
movlpd qword [esp + 0x38], xmm0
movlpd qword [esp + 0x48], xmm0
call fcn.00408d9a
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x18]
test eax, eax
jne 0x419c8b
lea ecx, [esp + 0x14]
call fcn.00408d9a
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
test eax, eax
jne 0x419c8b
mov eax, dword [esp + 0x48]
cmp eax, dword [ebx + 0x60]
jne 0x419c8b
mov eax, dword [esp + 0x4c]
cmp eax, dword [ebx + 0x64]
jne 0x419c8b
mov eax, dword [esp + 0x34]
lea edi, [ebx + 0x68]
cmp eax, dword [esp + 0x38]
jne 0x419c8e
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x3c]
jne 0x419c8e
mov ecx, edi
call fcn.00408d9a
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x419c8e
lea edi, [ebx + 0x68]
lea ecx, [esp + 0x14]
call fcn.00408d8e
mov esi, dword [esp + 0x1c]
and dword [ebx + 0x60], 0
and dword [ebx + 0x64], 0
mov ecx, edi
call fcn.00408d9a
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x18]
mov edi, dword [esp + 0x10]
lea ecx, [ebx + 0x68]
test eax, eax
cmovne edi, eax
and dword [ebx + 0x60], 0
and dword [ebx + 0x64], 0
mov dword [esp + 0x10], edi
call fcn.0041b21b
test edi, edi
jne 0x419e35
mov eax, dword [ebx + 0x58]
add dword [esi + 0xf8], eax
mov eax, dword [ebx + 0x5c]
adc dword [esi + 0xfc], eax
cmp byte [ebx + 0x94], 0
je 0x419d01
add dword [esi + 0xe8], 1
adc dword [esi + 0xec], 0
jmp 0x419d0f
add dword [esi + 0xf0], 1
adc dword [esi + 0xf4], 0
cmp byte [ebx + 0x55], 0
je 0x419d3a
cmp byte [ebx + 0x93], 0
je 0x419d3a
cmp byte [ebx + 0x96], 0
jne 0x419d3a
mov edx, dword [ebx + 0x88]
cmp edx, 0xffffffff
je 0x419d3a
lea ecx, [ebx + 0x24]
call fcn.004142f0
lea eax, [esi + 0x18]
xor edi, edi
push ecx
mov ecx, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], eax
call fcn.00408e5e
test al, al
je 0x419d8d
cmp byte [ebx + 0x96], 0
jne 0x419dfb
lea ecx, [esi + 0x18]
call fcn.00408d9a
push dword [esp + 0x24]
movzx ecx, byte [ebx + 0x56]
push ecx
push dword [ebp + 0xc]
mov edx, dword [eax]
mov ecx, eax
push dword [esp + 0x2c]
call dword [edx + 0x28]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
jne 0x419e35
and dword [esp + 0x94], 0
xor eax, eax
mov dword [esp + 0x98], 7
mov word [esp + 0x84], ax
cmp byte [ebx + 0x96], al
jne 0x41a011
cmp byte [esp + 0x28], al
jne 0x419e6c
mov al, byte [esi + 0x30]
test al, al
jne 0x419e3e
lea ecx, [ebx + 0x24]
call fcn.0040dbf0
test al, al
je 0x41a011
lea ecx, [ebx + 0x24]
call fcn.00414b80
test al, al
jne 0x41a011
lea eax, [ebx + 0x24]
push eax
lea ecx, [esi + 0x12c]
call fcn.00404f2d
jmp 0x41a011
cmp byte [ebx + 0x94], 0
jne 0x419d8d
lea ecx, [esi + 0x18]
call fcn.00408d9a
push dword [esp + 0x24]
movzx ecx, byte [ebx + 0x56]
push ecx
push dword [ebp + 0xc]
mov edx, dword [eax]
mov ecx, eax
push dword [esp + 0x2c]
call dword [edx + 0x28]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x419d8d
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x10]
jmp 0x41a124
cmp byte [ebx + 0x94], 0
jne 0x41a011
cmp byte [ebx + 0x54], 0
je 0x41a011
cmp dword [ebx + 0x34], 0
je 0x41a011
lea ecx, [ebx + 0x24]
call fcn.00414b80
jmp 0x41a011
cmp byte [ebx + 0x94], al
jne 0x41a011
cmp byte [ebx + 0x54], al
je 0x41a011
lea eax, [ebx + 0x24]
lea esi, [ebx + 0x3c]
mov dword [esp + 0x24], eax
mov edx, esi
mov ecx, eax
call fcn.004146f0
test al, al
jne 0x419fe9
lea ecx, [ebx + 0x24]
call fcn.0040dbf0
test al, al
je 0x419fe9
mov ecx, esi
call fcn.0040dbf0
test al, al
je 0x419fe9
mov ecx, esi
call fcn.00414b80
mov ecx, esi
mov bl, al
call fcn.0040dbf0
mov ecx, dword [esp + 0x24]
test al, al
push 1
pop eax
movzx ebx, bl
mov edx, esi
cmove ebx, eax
call fcn.004146f0
test al, al
movzx ecx, bl
push 1
pop eax
cmovne ecx, eax
test cl, cl
jne 0x419fbb
xor ebx, ebx
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x419f03
mov eax, dword [esi]
jmp 0x419f05
mov eax, esi
push 0x271c
xor ecx, ecx
mov word [eax], cx
lea eax, [esp + 0x58]
push eax
call fcn.004039a9
mov ecx, eax
call fcn.00416136
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [esp + 0x60]
call fcn.004028a8
push eax
lea ecx, [esp + 0x70]
call fcn.00401b55
xor eax, eax
lea ecx, [esp + 0x54]
push ebx
inc eax
push eax
call fcn.00401df6
lea eax, [esp + 0x54]
push 0x2790
push eax
call fcn.004039a9
mov ecx, eax
call fcn.00416136
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x78]
call fcn.004028a8
xor eax, eax
lea ecx, [esp + 0x54]
push ebx
inc eax
push eax
call fcn.00401df6
lea ecx, [esp + 0x54]
call fcn.00411840
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x78]
call fcn.004028a8
xor eax, eax
lea ecx, [esp + 0x54]
push ebx
inc eax
push eax
call fcn.00401df6
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x24]
call fcn.0041a551
mov edi, eax
lea ecx, [esp + 0x6c]
jmp 0x41a109
mov ecx, dword [esp + 0x24]
mov edx, esi
call fcn.00414500
test al, al
jne 0x419fe5
xor ebx, ebx
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x419fd9
mov eax, dword [esi]
jmp 0x419fdb
mov eax, esi
push 0x271d
jmp 0x419f0a
mov ebx, dword [esp + 0x44]
lea eax, [esp + 0x84]
cmp eax, esi
je 0x41a000
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00402073
and dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x41a00c
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
lea eax, [ebx + 0x24]
push eax
lea ecx, [esp + 0xa0]
call fcn.004025a9
test edi, edi
jne 0x41a0b2
mov ebx, dword [esp + 0x2c]
push ecx
mov ecx, ebx
call fcn.00408e5e
test al, al
je 0x41a0b2
lea ecx, [esp + 0x14]
call fcn.00408d88
mov ecx, ebx
call fcn.00408d9a
mov esi, eax
lea ecx, [esp + 0x14]
mov edi, dword [esi]
call fcn.00402180
push eax
push 0x801
mov ecx, esi
call dword [edi]
push ecx
lea ecx, [esp + 0x18]
call fcn.00408e5e
test al, al
je 0x41a0a3
lea ecx, [esp + 0x14]
call fcn.00408d9a
cmp dword [esp + 0x94], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [eax]
je 0x41a09a
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esi + 0x4c]
push ecx
mov ecx, eax
call dword [edx + 0x14]
jmp 0x41a0a7
lea ecx, [esp + 0x9c]
jmp 0x41a08e
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
call fcn.00408d8e
jmp 0x41a0b6
mov esi, dword [esp + 0x1c]
push dword [esp + 0x20]
lea ecx, [esi - 8]
call fcn.0041a501
push ecx
lea ecx, [esi + 0x1c]
call fcn.00408e5e
test al, al
je 0x41a0fc
lea ecx, [esi + 0x1c]
call fcn.00408d9a
push dword [esp + 0x28]
mov esi, eax
lea eax, [esp + 0xa0]
sub esp, 0x18
mov ecx, esp
mov edi, dword [esi]
push eax
call fcn.004025a9
mov ecx, esi
call dword [edi + 0x10]
mov edi, eax
test eax, eax
jne 0x41a100
mov edi, dword [esp + 0x10]
xor ebx, ebx
lea ecx, [esp + 0x9c]
xor eax, eax
push ebx
inc eax
push eax
call fcn.00401df6
xor eax, eax
lea ecx, [esp + 0x84]
push ebx
inc eax
push eax
call fcn.00401df6
lea ecx, [esp + 0x18]
call fcn.00408d8e
mov ecx, dword [esp + 0xb4]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00436362
mov esp, ebp
pop ebp
ret 0xc