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

Disassembly:
sub esp, 0xc0
mov eax, dword [0x43c034]
xor eax, esp
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc8]
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
push ebx
mov ebx, dword [esp + 0xd4]
push ebp
mov dword [esp + 0x10], eax
mov ebp, 6
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xf8]
push esi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
push edi
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x34], 0
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x14], ecx
xor ecx, ecx
test eax, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x68], 0
cmovns ebp, eax
movlpd qword [esp + 0x44], xmm0
mov eax, dword [esp + 0xf0]
or eax, dword [esp + 0xf4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x54], ebp
jne 0x41e21e
test ebx, ebx
je 0x41e223
test ebp, 0x400
jne 0x41e223
mov ecx, 8
movzx edx, cx
mov eax, edx
or eax, 0x800
test ebp, 0x10000
movzx ecx, ax
mov eax, edx
cmovne ecx, eax
movzx eax, cx
mov dword [esp + 0x58], eax
mov eax, ebp
and eax, 0xf
mov dword [esp + 0x64], eax
je 0x41e25d
mov dword [esp + 0x28], 0
test ebp, 0x400
je 0x41e265
mov dword [esp + 0x28], 1
mov ebp, dword [edi + 0x48]
test ebp, ebp
je 0x41ec80
cmp dword [edi + 0x14], 2
jne 0x41ec80
test ebx, ebx
je 0x41e289
cmp dword [esp + 0x18], 0
je 0x41ec80
mov edx, dword [esp + 0x20]
test edx, edx
je 0x41ec80
cmp word [esp + 0xe8], 0
je 0x41e2ab
cmp dword [esp + 0x6c], 0
je 0x41ec80
cmp eax, 0xa
ja 0x41ec80
cmp dword [ebp + 0x34], 0
mov eax, dword [edi + 0x10]
je 0x41e2ce
cmp eax, 0xffffffff
jne 0x41e2fa
mov dword [edi + 0x1c], 2
jmp 0x41ec87
cmp eax, 0xffff
jne 0x41e2dc
mov dword [ebp + 0x34], 1
mov ecx, dword [esp + 0xf4]
test ecx, ecx
jne 0x41e2f1
cmp dword [esp + 0xf0], 0xffffffff
jbe 0x41e301
mov dword [ebp + 0x34], 1
jmp 0x41e301
mov ecx, dword [esp + 0xf4]
mov esi, dword [esp + 0x54]
and esi, 0x400
mov dword [esp + 0x54], esi
jne 0x41e320
mov eax, dword [esp + 0xf0]
or eax, ecx
jne 0x41ec80
push edx
call fcn.004201d0
add esp, 4
test eax, eax
je 0x41ec77
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x41e355
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x38]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.0041ce10
add esp, 0x10
jmp 0x41e379
lea eax, [esp + 0x4c]
push eax
call sub.msvcrt.dll__time64
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.0041ce10
add esp, 0x14
test esi, esi
jne 0x41e3b4
push ebx
push dword [esp + 0x1c]
push esi
call fcn.0041a540
add esp, 0xc
mov dword [esp + 0x60], eax
mov eax, ebx
xor ecx, ecx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
cmp eax, 3
ja 0x41e3bf
mov dword [esp + 0x64], ecx
mov dword [esp + 0x28], 1
jmp 0x41e3bf
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0x20]
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x41e3c6
sub ebx, ecx
cmp ebx, 0xffff
ja 0x41ec77
push edi
call fcn.0041f140
mov dword [esp + 0x40], eax
add esp, 4
mov eax, dword [esp + 0xe8]
movzx eax, ax
cdq
mov esi, eax
mov eax, edx
mov edx, dword [ebp + 4]
mov ecx, esi
add ecx, edx
mov dword [esp + 0x24], eax
adc eax, 0
add ecx, ebx
adc eax, 0
add ecx, 0x4a
adc eax, 0
mov dword [esp + 0x50], eax
jne 0x41ec6e
cmp ecx, 0xffffffff
jae 0x41ec6e
mov ecx, dword [ebp + 0x34]
test ecx, ecx
jne 0x41e47a
mov eax, ebx
mov edx, 2
mul edx
add eax, dword [esp + 0x3c]
adc edx, ecx
add eax, dword [esp + 0x104]
adc edx, ecx
add eax, dword [esp + 0x10c]
adc edx, ecx
add eax, esi
adc edx, dword [esp + 0x24]
add eax, dword [ebp + 4]
adc edx, ecx
add eax, dword [edi]
adc edx, dword [edi + 4]
add eax, 0x72
adc edx, ecx
mov dword [esp + 0x50], edx
jne 0x41e46b
cmp eax, 0xffffffff
jbe 0x41e477
mov dword [ebp + 0x34], 1
mov ecx, 1
mov edx, dword [ebp + 4]
test ebx, ebx
je 0x41e4b3
mov eax, dword [esp + 0x20]
cmp byte [eax + ebx - 1], 0x2f
jne 0x41e4b3
cmp dword [esp + 0xe0], 0
mov dword [esp + 0x68], 0x10
jne 0x41ec80
mov eax, dword [esp + 0xf0]
or eax, dword [esp + 0xf4]
jne 0x41ec80
mov esi, dword [esp + 0xe8]
neg ecx
movzx eax, si
mov esi, dword [ebp + 8]
sbb ecx, ecx
add eax, 0x2e
and ecx, 0x1c
add eax, ecx
mov ecx, 1
add eax, edx
add eax, ebx
cmp eax, esi
jbe 0x41e509
cmp esi, ecx
cmovb esi, ecx
cmp esi, eax
jae 0x41e4e8
add esi, esi
cmp esi, eax
jb 0x41e4e2
mov eax, dword [edi + 0x30]
push esi
push dword [ebp + 0xc]
push dword [ebp]
push dword [edi + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x41e56d
mov dword [ebp], eax
mov ecx, 1
mov dword [ebp + 8], esi
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
inc eax
cmp eax, esi
jbe 0x41e542
cmp esi, 1
cmovb esi, ecx
cmp esi, eax
jae 0x41e526
nop
add esi, esi
cmp esi, eax
jb 0x41e520
mov eax, dword [edi + 0x30]
push esi
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [edi + 0x34]
call eax
add esp, 0x10
test eax, eax
je 0x41e56d
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x18], esi
cmp dword [esp + 0x28], 0
jne 0x41e579
cmp dword [esp + 0xe0], 0
je 0x41e579
mov eax, dword [edi + 0x28]
push 0x4df40
push 1
push dword [edi + 0x34]
call eax
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x41e579
mov dword [edi + 0x1c], 0x10
jmp 0x41ec87
push dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
push dword [esp + 0x14]
push esi
push edi
call fcn.00420200
add esp, 0x10
test eax, eax
jne 0x41e5a7
push dword [esp + 0x1c]
mov eax, dword [edi + 0x2c]
push dword [edi + 0x34]
call eax
add esp, 8
jmp 0x41ec87
mov ecx, dword [esp + 0x3c]
mov edx, 0
mov eax, dword [esp + 0x10]
add ecx, esi
xorps xmm0, xmm0
mov dword [esp + 0x24], ecx
adc edx, eax
mov dword [esp + 0x4c], ecx
add esi, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
adc eax, 0
mov dword [esp + 0x50], edx
cmp dword [esp + 0x28], 0
mov dword [esp + 0x10], eax
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa8], 0
movq qword [esp + 0xa0], xmm0
mov word [esp + 0xac], 0
je 0x41e60a
cmp dword [esp + 0x54], 0
je 0x41e615
mov eax, 8
mov dword [esp + 0x5c], eax
jmp 0x41e617
xor eax, eax
cmp dword [ebp + 0x34], 0
je 0x41e778
mov ebp, dword [esp + 0xf4]
test ebp, ebp
ja 0x41e641
jb 0x41e638
cmp dword [esp + 0xf0], 0xffffffff
jae 0x41e641
test edx, edx
jne 0x41e641
cmp ecx, 0xffffffff
jb 0x41e69c
lea eax, [esp + 0xb0]
mov dword [esp + 0x38], eax
test edx, edx
jne 0x41e655
cmp ecx, 0xffffffff
jb 0x41e659
lea edx, [esp + 0x4c]
mov eax, dword [esp + 0xf0]
test ebp, ebp
jne 0x41e66d
cmp eax, 0xffffffff
jae 0x41e66d
xor ecx, ecx
jmp 0x41e671
lea ecx, [esp + 0x44]
test ebp, ebp
jne 0x41e67e
cmp eax, 0xffffffff
jae 0x41e67e
xor eax, eax
jmp 0x41e685
lea eax, [esp + 0xf0]
push edx
push ecx
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0041f3c0
add esp, 0x10
mov dword [esp + 0x2c], eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x108]
push dword [esp + 0x38]
add eax, dword [esp + 0x34]
push dword [esp + 0x60]
push dword [esp + 0x68]
push 0
push 0
push 0
push 0
push 0
push eax
push ebx
lea eax, [esp + 0xbc]
push eax
push edi
call fcn.0041f2c0
add esp, 0x34
test eax, eax
je 0x41e7c3
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0x90]
push 0x1e
push ecx
push dword [esp + 0x48]
push dword [esp + 0x30]
push dword [edi + 0x44]
call eax
add esp, 0x14
cmp eax, 0x1e
jne 0x41e72c
mov ebp, dword [esp + 0x10]
add esi, eax
mov eax, dword [edi + 0x3c]
push ebx
push dword [esp + 0x24]
adc ebp, 0
push ebp
push esi
push dword [edi + 0x44]
call eax
add esp, 0x14
cmp eax, ebx
je 0x41e738
push dword [esp + 0x1c]
mov eax, dword [edi + 0x2c]
push dword [edi + 0x34]
call eax
add esp, 8
mov dword [edi + 0x1c], 0x13
jmp 0x41ec87
add esi, ebx
mov dword [esp + 0x14], esi
adc ebp, 0
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], ebp
je 0x41e821
push dword [esp + 0x2c]
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0xb4]
push ecx
push ebp
push esi
push dword [edi + 0x44]
call eax
mov ecx, dword [esp + 0x40]
add esp, 0x14
cmp eax, ecx
jne 0x41e72c
add esi, ecx
jmp 0x41e816
mov ebp, dword [esp + 0x10]
test ebp, ebp
ja 0x41ec65
jb 0x41e78f
cmp esi, 0xffffffff
ja 0x41ec65
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [esp + 0x60]
push eax
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x128]
lea eax, [esp + 0xb8]
push ebx
push eax
push edi
call fcn.0041f2c0
add esp, 0x34
test eax, eax
jne 0x41e7cf
mov dword [edi + 0x1c], 0x1b
jmp 0x41ec87
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0x90]
push 0x1e
push ecx
push dword [esp + 0x48]
push dword [esp + 0x30]
push dword [edi + 0x44]
call eax
add esp, 0x14
cmp eax, 0x1e
jne 0x41e72c
add esi, eax
mov eax, dword [edi + 0x3c]
push ebx
push dword [esp + 0x24]
adc ebp, 0
push ebp
push esi
push dword [edi + 0x44]
call eax
add esp, 0x14
cmp eax, ebx
jne 0x41e71d
add esi, ebx
adc ebp, 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x104]
test ecx, ecx
je 0x41e85a
mov eax, dword [edi + 0x3c]
push ecx
push dword [esp + 0x74]
push ebp
push esi
push dword [edi + 0x44]
call eax
mov ecx, dword [esp + 0x118]
add esp, 0x14
cmp eax, ecx
jne 0x41e72c
add esi, ecx
mov dword [esp + 0x14], esi
adc ebp, 0
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x28], 0
je 0x41e8a9
push dword [esp + 0xe0]
mov eax, dword [edi + 0x3c]
push dword [esp + 0x1c]
push ebp
push esi
push dword [edi + 0x44]
call eax
mov ecx, dword [esp + 0xf4]
add esp, 0x14
cmp eax, ecx
jne 0x41e71d
xor eax, eax
mov dword [esp + 0x44], ecx
add esi, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
adc ebp, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], ebp
xor esi, esi
jmp 0x41e9a4
cmp dword [esp + 0xe0], 0
je 0x41e991
mov edx, dword [esp + 0x64]
mov ecx, 0xa
cmp edx, ecx
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x1c]
mov eax, edx
cmova eax, ecx
mov dword [esp + 0x78], edi
mov ecx, 3
mov dword [esp + 0x80], esi
cmp ecx, edx
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
sbb ecx, ecx
and ecx, 0xffffc000
add ecx, 0x4000
or ecx, dword [eax*4 + 0x433f44]
mov eax, ecx
or eax, 0x80000
test edx, edx
cmovne eax, ecx
push eax
lea eax, [esp + 0x7c]
push eax
push 0x41ecb0
push ebp
call fcn.00421d00
add esp, 0x10
test eax, eax
jne 0x41e979
push 4
push dword [esp + 0xe4]
push dword [esp + 0x20]
push ebp
call fcn.00420530
add esp, 0x10
cmp eax, 1
jne 0x41e979
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x48], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
jmp 0x41e9a0
mov eax, dword [edi + 0x2c]
push ebp
push dword [edi + 0x34]
call eax
add esp, 8
mov dword [edi + 0x1c], 0xc
jmp 0x41ec87
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x18], esi
push dword [esp + 0x1c]
mov eax, dword [edi + 0x2c]
push dword [edi + 0x34]
call eax
mov edx, dword [esp + 0xf8]
add esp, 8
mov ecx, dword [esp + 0xf4]
mov eax, edx
or eax, ecx
je 0x41eb72
mov ecx, dword [esp + 0x60]
mov ebp, 0x10
mov eax, ecx
mov dword [esp + 0x78], 0x8074b50
shr eax, 8
mov byte [esp + 0x7d], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x7e], al
mov eax, ecx
shr eax, 0x18
cmp dword [esp + 0x38], 0
mov byte [esp + 0x7c], cl
mov byte [esp + 0x7f], al
jne 0x41ea77
test esi, esi
ja 0x41ec65
mov ecx, dword [esp + 0xe0]
jb 0x41ea1c
cmp ecx, 0xffffffff
ja 0x41ec65
mov eax, ecx
mov byte [esp + 0x80], cl
shr eax, 8
mov byte [esp + 0x81], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x82], al
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x83], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x85], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x86], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x84], dl
mov byte [esp + 0x87], al
jmp 0x41eb3e
mov ecx, dword [esp + 0xe0]
mov ebp, 0x18
mov eax, ecx
mov byte [esp + 0x80], cl
shr eax, 8
mov byte [esp + 0x81], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x82], al
mov eax, ecx
mov ecx, dword [esp + 0x18]
shr eax, 0x18
mov byte [esp + 0x83], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x85], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x86], al
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x87], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x89], al
mov eax, edx
mov esi, dword [esp + 0x18]
shr eax, 0x10
mov byte [esp + 0x8a], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x8b], al
mov byte [esp + 0x84], cl
mov ecx, dword [esp + 0xf4]
mov eax, ecx
shr eax, 8
mov byte [esp + 0x8d], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x8e], al
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x88], dl
mov byte [esp + 0x8c], cl
mov byte [esp + 0x8f], al
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0x78]
push ebp
push ecx
push dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push ecx
push dword [edi + 0x44]
call eax
add esp, 0x14
cmp eax, ebp
jne 0x41ec87
add dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0xf4]
adc ebp, 0
cmp dword [esp + 0x38], 0
je 0x41ebe5
cmp dword [esp + 0x40], 0
ja 0x41eb8b
cmp dword [esp + 0x24], 0xffffffff
jae 0x41eb8b
xor edx, edx
jmp 0x41eb8f
lea edx, [esp + 0x4c]
mov eax, dword [esp + 0xf0]
test ecx, ecx
jne 0x41eb9f
cmp eax, 0xffffffff
jb 0x41eba3
lea ecx, [esp + 0x44]
cmp dword [esp + 0xf4], 0
ja 0x41ebc9
cmp eax, 0xffffffff
jae 0x41ebc9
push edx
xor eax, eax
push ecx
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0041f3c0
add esp, 0x10
jmp 0x41ebe9
push edx
push ecx
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0041f3c0
add esp, 0x10
jmp 0x41ebe9
mov eax, dword [esp + 0x2c]
push dword [esp + 0x10c]
push dword [esp + 0x78]
push dword [esp + 0x70]
push dword [esp + 0x4c]
push dword [esp + 0x34]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x74]
push dword [esp + 0x7c]
push dword [esp + 0x84]
push esi
push dword [esp + 0x10c]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x120]
push dword [esp + 0xa8]
push eax
push dword [esp + 0x7c]
push ebx
push dword [esp + 0x6c]
push edi
call fcn.0041ed00
add esp, 0x54
test eax, eax
je 0x41ec87
mov ecx, dword [esp + 0x14]
mov eax, 1
inc dword [edi + 0x10]
mov dword [edi], ecx
mov dword [edi + 4], ebp
jmp 0x41ec89
mov dword [edi + 0x1c], 0x1d
jmp 0x41ec87
mov dword [edi + 0x1c], 0xf
jmp 0x41ec87
mov dword [edi + 0x1c], 0x19
jmp 0x41ec87
mov dword [edi + 0x1c], 0x18
xor eax, eax
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00428a51
add esp, 0xc0
ret