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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x168
and dword [esp + 0x78], 0
mov dword [esp + 0x7c], 4
and dword [esp + 0x80], 0
call 0x41431d
pop eax
lea edi, [esp + 0xf8]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x68], eax
mov ecx, edi
push 5
push 0x47c8c5
call fcn.004238de
pop eax
pop ecx
mov ebx, dword [edi + 8]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
shl ebx, 4
mov dword [esp + 0x70], eax
shl eax, 4
mov edx, ecx
mov edi, ecx
mov dword [esp + 0x74], ecx
add ebx, ecx
mov dword [esp + 0x54], eax
cmp edx, ebx
je 0x414389
mov ecx, dword [edx + 4]
add edx, 0x10
cmp ecx, 0x80000000
je 0x414360
mov eax, dword [edx - 8]
mov esi, dword [edx - 4]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 8], esi
add edi, 0xc
jmp 0x414360
push 0xc
pop ecx
xor edx, edx
div ecx
and dword [esp + 0x100], 0
mov dword [esp + 0xc], eax
push 4
pop esi
xor ecx, ecx
mov edx, esi
mov dword [esp + 0xf8], esi
call fcn.00423855
mov ecx, ebx
xor edx, edx
mov dword [esp + 0xfc], esi
mov dword [esp + 0x104], esi
call fcn.00423a19
mov esi, dword [esp + 0x74]
cmp dword [esp + 0x70], 0
mov eax, esi
je 0x4143ef
imul edx, dword [esp + 0xc], 0xc
mov eax, esi
cmp dword [esp + 0x54], edx
je 0x4143ef
mov ecx, esi
call fcn.0041ab20
test eax, eax
je 0x414f4d
sub edi, esi
mov ebx, eax
xor edx, edx
mov eax, edi
push 0xc
pop ecx
div ecx
mov ecx, dword [esp + 0xc]
mov esi, eax
mov dword [esp + 0xd4], ecx
lea ecx, [esp + 0xf8]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], esi
call fcn.004239fa
imul ecx, esi, 0xc
mov eax, ebx
add ecx, ebx
lea ebx, [esp + 0x38]
mov dword [esp + 0xa8], ecx
cmp eax, dword [esp + 0xa8]
je 0x414ee6
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push dword [eax + 8]
mov esi, eax
call fcn.004020fd
pop eax
mov eax, dword [esp + 0xc4]
cmp eax, 0x80000000
je 0x414f0f
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xcc]
and dword [esp + 0x84], 0
mov dword [esp + 0x88], 4
and dword [esp + 0x8c], 0
add esi, 0xc
xor edi, edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
and dword [esp + 0xf4], 0
and dword [esp + 0xf0], 0
mov dword [esp + 0xac], ecx
push 8
pop esi
push 4
pop eax
mov dword [esp + 0x94], eax
mov ecx, ebx
lea edx, [esp + 0xe8]
call fcn.00411141
mov eax, dword [esp + 0x38]
cmp eax, 0x80000002
jl 0x414e5f
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x54], esi
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0xf8]
mov dword [esp + 0xc], edx
push 0
push esi
call fcn.0045a538
pop eax
pop ecx
cmp dword [esp + 0xf8], 0
je 0x4145d4
mov edx, dword [esp + 0x134]
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x130]
mov edi, dword [esp + 0x154]
mov esi, dword [esp + 0x128]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x158]
mov dword [esp + 0x50], ecx
mov dword [esp + 4], edi
mov dword [esp + 0x20], edx
lea ebx, [esp + 0x10]
mov edx, esi
mov ecx, ebx
push eax
call fcn.0041afd7
pop eax
mov esi, dword [esp + 0x18]
mov ecx, ebx
call fcn.0043dd94
mov eax, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x28]
mov edi, eax
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x60], eax
push dword [esp + 0x24]
call fcn.0041afd7
pop eax
mov edx, dword [esp + 4]
test edx, edx
je 0x414651
mov ecx, ebx
push dword [esp + 0x20]
call fcn.0041afd7
pop eax
jmp 0x414659
cmp byte [esp + 0xfc], 0x1c
jne 0x4146f5
mov edx, dword [esp + 0xc]
test esi, esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], esi
je 0x414605
mov cl, byte [edx]
mov eax, ecx
not al
test al, 0x1f
je 0x414605
cmp esi, 1
jne 0x414785
xor eax, eax
xor esi, esi
mov byte [esp + 0x28], al
test esi, esi
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
mov byte [esp + 0x10], 0
cmove eax, ecx
je 0x41477d
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x1c], edi
mov eax, dword [eax]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
jmp 0x414575
mov dword [esp + 0x10], 0x80000000
movsd xmm0, qword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x80]
sub edi, esi
mov eax, 0
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
cmovb edi, eax
mov dword [esp + 4], edi
movsd qword [esp + 0xf8], xmm0
movsd xmm0, qword [esp + 0x28]
mov dword [esp + 0x100], ecx
lea ecx, [esp + 0xf8]
cmp ebx, dword [esp + 0x78]
mov dword [ecx + 0x14], esi
movsd qword [ecx + 0xc], xmm0
movsd xmm0, qword [esp + 0x10]
mov dword [ecx + 0x20], edx
movsd qword [ecx + 0x18], xmm0
jne 0x4146c2
lea ecx, [esp + 0x78]
call fcn.00430a1b
mov eax, dword [esp + 0x7c]
imul edx, ebx, 0x28
lea edi, [eax + edx]
push 9
pop ecx
lea esi, [esp + 0xf8]
inc ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 4]
mov dword [eax + edx + 0x24], ecx
mov dword [esp + 0x80], ebx
push 0x14
pop esi
mov edi, dword [esp + 0x1c]
lea ebx, [esp + 0x38]
jmp 0x4146f8
push 0xa
pop esi
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc0]
call fcn.0041ae6b
cmp edi, dword [esp + 0x84]
jne 0x41472b
lea ecx, [esp + 0x84]
call fcn.004057f3
mov eax, dword [esp + 0x88]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x70]
inc edi
mov dword [ecx + eax - 8], esi
and dword [ecx + eax - 4], 0
mov esi, eax
movsd xmm0, qword [esp + 0xf8]
movsd qword [ecx + eax], xmm0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x8c], edi
call fcn.0041ae6b
cmp dword [esp + 0x38], 0x80000000
jne 0x414775
mov ecx, ebx
call fcn.00402f1a
add esi, 0x10
jmp 0x4144d4
push 0xa
pop esi
jmp 0x4146fc
mov dword [esp + 0x60], 2
movzx edx, byte [edx + 1]
test dl, dl
js 0x4149d7
xor esi, esi
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x58]
call fcn.00458c3e
mov ecx, eax
xor eax, eax
cmp byte [esp + 0x1c], 0x30
jne 0x414a13
test ecx, ecx
je 0x414a13
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
and dword [esp + 0x30], 0
test edx, edx
je 0x414b54
mov dword [esp + 0x30], 1
xor esi, esi
mov ah, byte [ecx]
mov al, ah
not al
test al, 0x1f
je 0x414b56
xor esi, esi
cmp edx, 1
je 0x414b56
mov dword [esp + 0x30], 2
mov byte [esp + 0x1c], ah
movzx eax, byte [ecx + 1]
test al, al
js 0x414a66
lea ecx, [esp + 0x28]
mov edx, eax
call fcn.00458c3e
xor esi, esi
cmp byte [esp + 0x1c], 0x30
jne 0x414b56
test eax, eax
je 0x414b56
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
and dword [esp + 0x18], 0
mov dword [esp + 0x1c], edi
lea edi, [esp + 0x10]
lea ecx, [esp + 0xe0]
mov edx, edi
call fcn.00458c70
cmp dword [esp + 0xe0], 0
je 0x414aa7
mov ecx, edi
push 0x30
pop edx
call fcn.0045a3d8
cmp al, 0x26
lea edi, [esp + 8]
mov dword [esp + 4], eax
jne 0x414ab6
lea ecx, [esp + 0x10]
push 0x30
pop edx
call fcn.0045a3d8
cmp al, 0x26
lea edi, [esp + 8]
mov dword [esp + 4], eax
jne 0x414ab6
lea ecx, [esp + 0x10]
push 0x30
pop edx
call fcn.0045a3d8
cmp al, 0x26
lea edi, [esp + 8]
mov dword [esp + 4], eax
jne 0x414ab6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jbe 0x414c93
mov edi, dword [esp + 0x10]
lea edx, [ecx + 1]
mov dword [esp + 0x18], edx
mov bh, byte [edi + ecx]
mov bl, bh
not bl
test bl, 0x1f
je 0x414e4a
cmp eax, edx
jbe 0x414e4a
mov byte [esp + 0x50], bh
lea ebx, [ecx + 2]
mov dword [esp + 0x18], ebx
mov dword [esp + 4], ebx
movzx ebx, byte [edi + ecx + 1]
test bl, bl
js 0x414c51
mov dword [esp + 0x24], ebx
lea ebx, [esp + 0x38]
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x10]
call fcn.00458c3e
test eax, eax
je 0x414c93
cmp byte [esp + 0x50], 0x30
jne 0x414c93
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp edi, ecx
jbe 0x414c93
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov bh, byte [edx + ecx]
mov bl, bh
not bl
test bl, 0x1f
je 0x414e4a
cmp edi, eax
mov byte [esp + 0x37], bh
jbe 0x414e4a
lea ebx, [ecx + 2]
mov dword [esp + 0x18], ebx
mov dword [esp + 4], ebx
movzx ebx, byte [edx + ecx + 1]
test bl, bl
mov dword [esp + 0x20], ebx
js 0x414d5c
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x10]
call fcn.00458c3e
cmp byte [esp + 0x37], 0x30
mov dword [esp + 4], 0
jne 0x414e52
test eax, eax
lea edi, [esp + 8]
lea ebx, [esp + 0x38]
je 0x414ab6
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 4], ecx
shr edi, 8
mov ecx, edi
lea edi, [esp + 0xd0]
jmp 0x414ab6
cmp edx, 0x82
je 0x414a1c
cmp edx, 0x81
jne 0x414be4
mov edx, dword [esp + 0xc]
cmp esi, 3
jb 0x414605
mov dword [esp + 0x60], 3
mov esi, 0
movzx edx, byte [edx + 2]
test dl, dl
js 0x41479b
xor eax, eax
mov edx, dword [esp + 0xc]
jmp 0x414609
mov edx, dword [esp + 0xc]
cmp esi, 2
jbe 0x414605
cmp esi, 3
je 0x414605
mov eax, edx
movzx edx, byte [edx + 2]
mov dword [esp + 0x60], 4
mov esi, 0
movzx eax, byte [eax + 3]
shl edx, 8
or edx, eax
xor eax, eax
cmp edx, 0x100
jb 0x414a13
cmp edx, 0xffff
jne 0x41479b
jmp 0x414a13
add eax, 0xffffff7f
cmp eax, 3
ja 0x414b54
mov eax, dword [eax*4 + 0x414f50]
add eax, dword [esp + 0x68]
jmp eax
mov al, byte [esp + 0xe4]
mov dword [esp + 4], eax
lea edi, [esp + 8]
and dword [edi], 0
mov edi, dword [esp + 8]
test edi, edi
je 0x414afc
mov esi, dword [esp + 0x18]
cmp esi, dword [esp + 0x14]
jne 0x414af2
mov esi, dword [esp + 0xd0]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0xa4], esi
mov esi, edi
jmp 0x414afc
xor esi, esi
mov dword [esp + 4], 0
mov edi, dword [esp + 0x1c]
jmp 0x414b5e
xor esi, esi
mov dword [esp + 4], 0
lea ecx, [esp + 0x28]
push 0x30
pop edx
call fcn.0045a3d8
cmp al, 0x26
jne 0x414be6
lea ecx, [esp + 0x28]
push 3
pop edx
call fcn.0045a3d8
cmp al, 0x26
jne 0x414be6
test esi, esi
je 0x414bef
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x2c]
jne 0x414be4
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0xc]
cmp eax, dword [esp + 0x5c]
jne 0x414bf5
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov word [esp + 0x29], ax
shr eax, 0x10
mov dword [esp + 0xb4], ecx
mov byte [esp + 0x2b], al
mov eax, dword [esp + 4]
mov byte [esp + 0x28], al
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb8], eax
jmp 0x41460d
xor eax, eax
mov edx, dword [esp + 0xc]
jmp 0x414607
mov eax, dword [esp + 4]
jmp 0x414be6
mov byte [esp + 0x28], 0
xor esi, esi
jmp 0x41460d
add ebx, 0xffffff7f
cmp ebx, 3
ja 0x414e4a
mov ebx, dword [ebx*4 + 0x414f60]
add ebx, dword [esp + 0x68]
jmp ebx
mov dword [esp + 4], 0
jmp 0x414ab2
mov ebx, dword [esp + 0x20]
add ebx, 0xffffff7f
cmp ebx, 3
mov dword [esp + 0x20], ebx
ja 0x414e4a
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx*4 + 0x414f70]
add ebx, dword [esp + 0x68]
jmp ebx
mov dword [esp + 4], 0
lea edi, [esp + 8]
lea ebx, [esp + 0x38]
jmp 0x414ab6
mov ecx, ebx
call fcn.00403305
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
call fcn.0041ae6b
cmp edi, 0x80000000
je 0x414f1d
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], esi
sub ebx, 1
jb 0x414ebe
cmp byte [esi], 0x14
je 0x414eb9
push esi
call fcn.00403a03
mov eax, dword [esp + 0x70]
add esp, 4
add esi, 0x10
jmp 0x414ea2
test edi, edi
lea ebx, [esp + 0x38]
je 0x414435
mov ecx, dword [esp + 0xc]
shl edi, 4
push 4
pop edx
push edi
call fcn.0040ecaa
mov eax, dword [esp + 0x70]
add esp, 4
jmp 0x414435
lea ecx, [esp + 0xd4]
call fcn.00403f24
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
movsd xmm0, qword [esp + 0x78]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
jmp 0x414f45
mov esi, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0xd4]
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax], 0x80000000
call fcn.00403f24
lea ecx, [esp + 0x78]
call fcn.00403bcc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2