Function at 0x419008
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.00419af7
mov ebx, eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], ebx
call fcn.0040891c
lea edi, [ebx + 0x68]
push ecx
mov ecx, edi
call fcn.00408994
test al, al
je 0x419097
mov ecx, edi
call fcn.0040892e
mov esi, eax
lea ecx, [esp + 0x18]
mov edi, dword [esi]
call fcn.00401b00
push eax
push 0x410
mov ecx, esi
call dword [edi]
test eax, eax
je 0x419090
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041a85c
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 0x419117
dec eax
cmp eax, 6
ja 0x4190d9
call fcn.00408994
test al, al
je 0x419141
lea ecx, [esp + 0x18]
call fcn.0040892e
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041a85c
jmp 0x419141
call fcn.00408994
test al, al
je 0x4190fe
lea ecx, [esp + 0x18]
call fcn.0040892e
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041a85c
and dword [ebx + 0x60], 0
mov ecx, edi
and dword [ebx + 0x64], 0
call fcn.0041a873
mov edi, 0x80004005
jmp 0x419785
call fcn.00408994
test al, al
je 0x41913c
lea ecx, [esp + 0x18]
call fcn.0040892e
push 1
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041a85c
mov byte [esp + 0x28], 1
push ecx
mov ecx, edi
call fcn.00408994
test al, al
je 0x419337
mov dl, byte [esi + 0x64]
xor edi, edi
mov dword [esp + 0x10], edi
test dl, dl
jne 0x419168
cmp byte [esi + 0x66], dl
jne 0x419168
cmp byte [esi + 0x65], dl
je 0x4191de
mov cl, byte [esi + 0x66]
test cl, cl
je 0x41917d
cmp byte [ebx + 0x92], 0
je 0x41917d
lea edi, [ebx + 0x7c]
jmp 0x41918a
xor edi, edi
lea eax, [esi + 0xb0]
test cl, cl
cmovne edi, eax
cmp byte [esi + 0x65], 0
je 0x4191a2
cmp byte [ebx + 0x91], 0
je 0x4191a2
lea eax, [ebx + 0x74]
mov dword [esp + 0x14], eax
jmp 0x4191a7
and dword [esp + 0x14], 0
test dl, dl
je 0x4191bd
cmp byte [ebx + 0x90], 0
je 0x4191bd
lea eax, [ebx + 0x6c]
mov dword [esp + 0x10], eax
jmp 0x4191c2
and dword [esp + 0x10], 0
lea ecx, [ebx + 0x68]
call fcn.0040892e
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.0040892e
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 0x419219
mov ecx, edi
call fcn.0040892e
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x419304
cmp dword [ebx + 0x64], 0
ja 0x419229
cmp dword [ebx + 0x60], 0
jbe 0x419304
cmp ecx, dword [ebx + 0x64]
ja 0x4192fc
jb 0x41923d
cmp eax, dword [ebx + 0x60]
jae 0x4192fc
lea ecx, [esp + 0x14]
call fcn.0040891c
mov ecx, edi
call fcn.0040892e
mov esi, eax
lea ecx, [esp + 0x14]
mov edi, dword [esi]
call fcn.00401b00
push eax
push 0x40c
mov ecx, esi
call dword [edi]
push ecx
lea ecx, [esp + 0x18]
call fcn.00408994
test al, al
je 0x4192ec
xorps xmm0, xmm0
lea ecx, [esp + 0x14]
movlpd qword [esp + 0x38], xmm0
movlpd qword [esp + 0x48], xmm0
call fcn.0040892e
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x18]
test eax, eax
jne 0x4192ec
lea ecx, [esp + 0x14]
call fcn.0040892e
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
test eax, eax
jne 0x4192ec
mov eax, dword [esp + 0x48]
cmp eax, dword [ebx + 0x60]
jne 0x4192ec
mov eax, dword [esp + 0x4c]
cmp eax, dword [ebx + 0x64]
jne 0x4192ec
mov eax, dword [esp + 0x34]
lea edi, [ebx + 0x68]
cmp eax, dword [esp + 0x38]
jne 0x4192ef
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x3c]
jne 0x4192ef
mov ecx, edi
call fcn.0040892e
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x4192ef
lea edi, [ebx + 0x68]
lea ecx, [esp + 0x14]
call fcn.00408922
mov esi, dword [esp + 0x1c]
and dword [ebx + 0x60], 0
and dword [ebx + 0x64], 0
mov ecx, edi
call fcn.0040892e
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.0041a873
test edi, edi
jne 0x419496
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 0x419362
add dword [esi + 0xe8], 1
adc dword [esi + 0xec], 0
jmp 0x419370
add dword [esi + 0xf0], 1
adc dword [esi + 0xf4], 0
cmp byte [ebx + 0x55], 0
je 0x41939b
cmp byte [ebx + 0x93], 0
je 0x41939b
cmp byte [ebx + 0x96], 0
jne 0x41939b
mov edx, dword [ebx + 0x88]
cmp edx, 0xffffffff
je 0x41939b
lea ecx, [ebx + 0x24]
call fcn.00413060
lea eax, [esi + 0x18]
xor edi, edi
push ecx
mov ecx, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], eax
call fcn.00408994
test al, al
je 0x4193ee
cmp byte [ebx + 0x96], 0
jne 0x41945c
lea ecx, [esi + 0x18]
call fcn.0040892e
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 0x419496
and dword [esp + 0x94], 0
xor eax, eax
mov dword [esp + 0x98], 7
mov word [esp + 0x84], ax
cmp byte [ebx + 0x96], al
jne 0x419672
cmp byte [esp + 0x28], al
jne 0x4194cd
mov al, byte [esi + 0x30]
test al, al
jne 0x41949f
lea ecx, [ebx + 0x24]
call fcn.0040d680
test al, al
je 0x419672
lea ecx, [ebx + 0x24]
call fcn.004138f0
test al, al
jne 0x419672
lea eax, [ebx + 0x24]
push eax
lea ecx, [esi + 0x12c]
call fcn.00404a10
jmp 0x419672
cmp byte [ebx + 0x94], 0
jne 0x4193ee
lea ecx, [esi + 0x18]
call fcn.0040892e
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 0x4193ee
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x10]
jmp 0x419785
cmp byte [ebx + 0x94], 0
jne 0x419672
cmp byte [ebx + 0x54], 0
je 0x419672
cmp dword [ebx + 0x34], 0
je 0x419672
lea ecx, [ebx + 0x24]
call fcn.004138f0
jmp 0x419672
cmp byte [ebx + 0x94], al
jne 0x419672
cmp byte [ebx + 0x54], al
je 0x419672
lea eax, [ebx + 0x24]
lea esi, [ebx + 0x3c]
mov dword [esp + 0x24], eax
mov edx, esi
mov ecx, eax
call fcn.00413460
test al, al
jne 0x41964a
lea ecx, [ebx + 0x24]
call fcn.0040d680
test al, al
je 0x41964a
mov ecx, esi
call fcn.0040d680
test al, al
je 0x41964a
mov ecx, esi
call fcn.004138f0
mov ecx, esi
mov bl, al
call fcn.0040d680
mov ecx, dword [esp + 0x24]
test al, al
push 1
pop eax
movzx ebx, bl
mov edx, esi
cmove ebx, eax
call fcn.00413460
test al, al
movzx ecx, bl
push 1
pop eax
cmovne ecx, eax
test cl, cl
jne 0x41961c
xor ebx, ebx
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x419564
mov eax, dword [esi]
jmp 0x419566
mov eax, esi
push 0x271c
xor ecx, ecx
mov word [eax], cx
lea eax, [esp + 0x58]
push eax
call fcn.00403405
mov ecx, eax
call fcn.004156d6
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [esp + 0x60]
call fcn.0040220d
push eax
lea ecx, [esp + 0x70]
call fcn.004014d2
xor eax, eax
lea ecx, [esp + 0x54]
push ebx
inc eax
push eax
call fcn.004017f1
lea eax, [esp + 0x54]
push 0x2790
push eax
call fcn.00403405
mov ecx, eax
call fcn.004156d6
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x78]
call fcn.0040220d
xor eax, eax
lea ecx, [esp + 0x54]
push ebx
inc eax
push eax
call fcn.004017f1
lea ecx, [esp + 0x54]
call fcn.00410ef0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x78]
call fcn.0040220d
xor eax, eax
lea ecx, [esp + 0x54]
push ebx
inc eax
push eax
call fcn.004017f1
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x24]
call fcn.00419bb2
mov edi, eax
lea ecx, [esp + 0x6c]
jmp 0x41976a
mov ecx, dword [esp + 0x24]
mov edx, esi
call fcn.00413270
test al, al
jne 0x419646
xor ebx, ebx
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x41963a
mov eax, dword [esi]
jmp 0x41963c
mov eax, esi
push 0x271d
jmp 0x41956b
mov ebx, dword [esp + 0x44]
lea eax, [esp + 0x84]
cmp eax, esi
je 0x419661
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00401a6e
and dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x41966d
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
lea eax, [ebx + 0x24]
push eax
lea ecx, [esp + 0xa0]
call fcn.00401f0e
test edi, edi
jne 0x419713
mov ebx, dword [esp + 0x2c]
push ecx
mov ecx, ebx
call fcn.00408994
test al, al
je 0x419713
lea ecx, [esp + 0x14]
call fcn.0040891c
mov ecx, ebx
call fcn.0040892e
mov esi, eax
lea ecx, [esp + 0x14]
mov edi, dword [esi]
call fcn.00401b00
push eax
push 0x801
mov ecx, esi
call dword [edi]
push ecx
lea ecx, [esp + 0x18]
call fcn.00408994
test al, al
je 0x419704
lea ecx, [esp + 0x14]
call fcn.0040892e
cmp dword [esp + 0x94], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [eax]
je 0x4196fb
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esi + 0x4c]
push ecx
mov ecx, eax
call dword [edx + 0x14]
jmp 0x419708
lea ecx, [esp + 0x9c]
jmp 0x4196ef
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
call fcn.00408922
jmp 0x419717
mov esi, dword [esp + 0x1c]
push dword [esp + 0x20]
lea ecx, [esi - 8]
call fcn.00419b62
push ecx
lea ecx, [esi + 0x1c]
call fcn.00408994
test al, al
je 0x41975d
lea ecx, [esi + 0x1c]
call fcn.0040892e
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.00401f0e
mov ecx, esi
call dword [edi + 0x10]
mov edi, eax
test eax, eax
jne 0x419761
mov edi, dword [esp + 0x10]
xor ebx, ebx
lea ecx, [esp + 0x9c]
xor eax, eax
push ebx
inc eax
push eax
call fcn.004017f1
xor eax, eax
lea ecx, [esp + 0x84]
push ebx
inc eax
push eax
call fcn.004017f1
lea ecx, [esp + 0x18]
call fcn.00408922
mov ecx, dword [esp + 0xb4]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00435a0a
mov esp, ebp
pop ebp
ret 0xc