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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x500
mov dword [esp + 0x2c], edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
cmp edx, eax
jne 0x42e7ac
mov edi, dword [ecx + 0x48]
mov eax, dword [edi + 0x48]
cmp dword [edi + 0x50], eax
mov dword [esp + 0x3c], eax
jb 0x42e7b9
movsd xmm1, qword [ecx + 0x30]
xorps xmm0, xmm0
movsd xmm2, qword [ecx + 0x38]
mov eax, dword [ecx + 0x40]
movsd xmm3, qword [ecx + 0x50]
mov ebx, dword [ecx + 0x94]
lea edx, [esp + 0x88]
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movsd qword [esp + 0x260], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x268], xmm2
movsd xmm2, qword [ecx + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x44]
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x250], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x258], xmm2
movsd xmm2, qword [ecx + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x90]
movsd qword [esp + 0x240], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x248], xmm2
movsd xmm2, qword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x98]
movsd qword [esp + 0x238], xmm1
movsd xmm1, qword [ecx + 0x58]
movsd qword [esp + 0x230], xmm2
movsd xmm2, qword [ecx + 0x60]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1b0]
movsd qword [esp + 0x50], xmm1
movsd xmm1, qword [ecx + 0x68]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [ecx + 0x70]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [ecx + 0x78]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [ecx + 0x80]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [ecx + 0x88]
movsd qword [esp + 0x78], xmm2
movsd qword [esp + 0x80], xmm1
push 0xc0
push eax
push edx
mov esi, ecx
call fcn.004ef180
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [esp + 0x24]
movsd xmm1, qword [esi + 0x58]
movsd xmm2, qword [esi + 0x60]
movsd xmm0, qword [esi + 0x50]
mov edx, dword [ebp + 8]
mov dword [esp + 0x34], ebx
mov byte [esp + 0xb], 1
mov dword [esp + 0x38], edi
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x148], eax
mov dword [esp + 0x150], edi
mov dword [esp + 0x158], 0
movsd qword [esp + 0x168], xmm1
movsd xmm1, qword [esi + 0x68]
movsd qword [esp + 0x170], xmm2
movsd xmm2, qword [esi + 0x70]
mov eax, dword [esp + 0x20]
movsd qword [esp + 0x160], xmm0
movsd qword [esp + 0x178], xmm1
movsd xmm1, qword [esi + 0x78]
movsd qword [esp + 0x180], xmm2
movsd xmm2, qword [esi + 0x80]
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [esi + 0x88]
movsd qword [esp + 0x190], xmm2
mov esi, dword [ebp + 0x10]
movsd qword [esp + 0x198], xmm1
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x2c]
lea eax, [eax + edx*8]
mov dword [esp + 0x44], eax
nop word [eax + eax]
cmp dword [ebp + 8], 0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], ecx
jne 0x42e58c
movzx eax, byte [esp + 0xb]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x3d0]
mov byte [esp + 0x3d0], al
push 1
call fcn.0042db10
add esp, 4
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
lea edi, [esp + 0x4ac]
lea esi, [esp + 0x160]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x10], ecx
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
movaps xmmword [esp + 0x2e0], xmm0
movaps xmmword [esp + 0x2d0], xmm0
movaps xmmword [esp + 0x2c0], xmm0
movaps xmmword [esp + 0x2b0], xmm0
movaps xmmword [esp + 0x2a0], xmm0
movaps xmmword [esp + 0x290], xmm0
movaps xmmword [esp + 0x280], xmm0
movaps xmmword [esp + 0x270], xmm0
mov esi, eax
mov eax, dword [eax + 0x50]
cmp eax, 0x80
ja 0x42e7b9
mov ecx, dword [esi + 0x48]
mov dword [esp + 0x18], eax
cmp ecx, eax
mov dword [esp + 0xc], ecx
ja 0x42e7b9
push 0xc8
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x3d8]
push eax
call fcn.004ef180
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x498], esi
mov ecx, 0x12
lea edi, [esp + 0x2f8]
mov edx, esi
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4a0], ebx
mov dword [esp + 0x4a4], eax
mov eax, dword [esi + 0x50]
lea esi, [esp + 0x108]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x340], edx
mov ecx, dword [esp + 0x14]
cmp eax, 0x81
mov dword [esp + 0x344], ecx
jae 0x42e7b9
lea ecx, [esp + 0x38c]
lea edx, [esp + 0x2f8]
push ebx
push eax
lea esi, [esp + 0x3d8]
push esi
call fcn.0042dd10
add esp, 0xc
mov eax, dword [esp + 0x38c]
mov eax, dword [eax + 0x48]
cmp eax, 0x40
ja 0x42e7b9
mov ebx, dword [esp + 0xc]
cmp ebx, eax
jne 0x42e7b9
push ebx
lea eax, [esp + 0x394]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.004ef180
add esp, 0xc
mov ecx, 0x14
mov edx, esi
mov edi, esi
lea esi, [esp + 0x4ac]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x348]
push ebx
push dword [esp + 0x1c]
lea eax, [esp + 0x278]
push eax
call fcn.0042dd10
add esp, 0xc
mov eax, dword [esp + 0x348]
mov eax, dword [eax + 0x48]
cmp eax, 0x40
ja 0x42e7b9
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
lea edi, [esp + 0x34c]
mov esi, ecx
sub esi, ebx
jb 0x42e797
cmp ebx, eax
jne 0x42e7b9
push ebx
push edi
push edx
call fcn.004ef180
add esp, 0xc
test esi, esi
je 0x42e7a6
push 0xc0
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.004ef180
add esp, 0xc
movsd xmm1, qword [esp + 0x50]
lea eax, [esp + 0x160]
movsd xmm2, qword [esp + 0x58]
movsd xmm0, qword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
movsd qword [eax + 8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [eax + 0x10], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [eax], xmm0
movsd qword [eax + 0x18], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [eax + 0x20], xmm2
movsd xmm2, qword [esp + 0x78]
movsd qword [eax + 0x28], xmm1
movsd xmm1, qword [esp + 0x80]
movsd qword [eax + 0x30], xmm2
movsd qword [eax + 0x38], xmm1
mov dword [esp + 0x14c], edx
mov dword [esp + 0x148], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x150], edx
mov dword [esp + 0x158], 0
mov dword [esp + 0x1a4], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a8], ecx
lea ecx, [esp + 0x88]
mov edx, edi
push ebx
call fcn.0042db10
add esp, 4
inc byte [esp + 0xb]
je 0x42e7b9
mov ecx, dword [esp + 0x30]
add ecx, ebx
jmp 0x42e240
add ecx, edi
push esi
push ecx
lea eax, [esp + 0x90]
push eax
call fcn.004ef180
add esp, 0xc
mov dword [esp + 0x158], esi
mov eax, dword [esp + 0x14]
add eax, 8
cmp eax, dword [esp + 0x44]
je 0x42e256
mov ecx, dword [esp + 0x150]
mov edx, eax
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x158]
mov dword [esp + 0x14], edx
mov edx, dword [edx]
mov esi, dword [ecx + 0x50]
mov ecx, edi
mov ebx, esi
sub ebx, eax
sub ecx, ebx
jae 0x42e5f0
mov ecx, eax
add ecx, edi
jb 0x42e7b9
cmp ecx, 0x80
ja 0x42e7b9
lea eax, [esp + eax + 0x88]
push edi
push edx
push eax
call fcn.004ef180
add esp, 0xc
add edi, dword [esp + 0x158]
mov dword [esp + 0x158], edi
jmp 0x42e57b
test eax, eax
mov dword [esp + 0x10], edx
je 0x42e6e7
cmp esi, eax
jb 0x42e7b9
cmp esi, 0x80
mov dword [esp + 0x18], ecx
ja 0x42e7b9
lea eax, [esp + eax + 0x88]
push ebx
push edx
push eax
call fcn.004ef180
add esp, 0xc
mov ecx, dword [esp + 0x150]
mov edi, dword [ecx + 0x50]
test edi, edi
je 0x42e7b9
mov eax, esi
xor edx, edx
div edi
mov dword [esp + 0xc], eax
imul eax, edi
cmp eax, esi
jne 0x42e7b9
cmp edi, esi
ja 0x42e6b9
movzx eax, byte [0x6019e4]
cmp al, 2
jne 0x42e78d
mov eax, dword [esp + 0x150]
mov edi, dword [esp + 0xc]
push edi
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x110]
push ecx
call dword [eax + 0x40]
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov edx, eax
add edx, edi
mov edx, ecx
adc edx, 0
jb 0x42e7b9
add eax, edi
adc ecx, 0
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x158], 0
mov edi, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [ecx + 0x50]
mov eax, edi
div esi
test ecx, ecx
je 0x42e7b9
add dword [esp + 0x10], ebx
mov dword [esp + 0xc], edx
sub edi, edx
mov esi, ecx
jmp 0x42e6fb
test esi, esi
je 0x42e7b9
mov eax, edi
xor edx, edx
div esi
sub edi, edx
mov dword [esp + 0xc], edx
mov eax, edi
xor edx, edx
div esi
mov ebx, eax
imul eax, esi
cmp eax, edi
jne 0x42e7b9
cmp esi, edi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
ja 0x42e76c
movzx eax, byte [0x6019e4]
cmp al, 2
jne 0x42e782
mov eax, dword [esp + 0x150]
push ebx
push ecx
lea ecx, [esp + 0x110]
push ecx
call dword [eax + 0x40]
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov edx, eax
add edx, ebx
mov edx, ecx
adc edx, 0
jb 0x42e7b9
add eax, ebx
adc ecx, 0
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x10]
test esi, esi
je 0x42e57b
cmp esi, 0x81
jb 0x42e560
jmp 0x42e7b9
call fcn.00500310
mov ecx, dword [esp + 0x10]
jmp 0x42e725
call fcn.00500310
jmp 0x42e660
cmp ecx, eax
ja 0x42e7b9
push ecx
push edi
push edx
call fcn.004ef180
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
cmp edx, eax
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2