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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42907d
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x439010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x74], edi
xorps xmm0, xmm0
mov eax, dword [0x43ac70]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov dword [ebp - 0x6c], eax
mov byte [edi], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x68]
mov edx, dword [eax]
call fcn.004051e0
mov esi, eax
cmp edi, esi
je 0x40c02b
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x40bff9
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x40bfef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf43
mov eax, edx
push ecx
push eax
call fcn.0040df5b
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x40c05f
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c055
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf43
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x24]
call fcn.004051e0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 1
mov esi, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x30], edi
jb 0x40c086
mov esi, dword [edi]
mov dword [ebp - 0x30], esi
mov eax, dword [ecx + 0x10]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], edx
cmp edx, eax
ja 0x40c0ca
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ebp - 0x70]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x40c0af
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f0f0
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x38]
jmp 0x40c0d9
push edx
push esi
mov byte [ebp - 0x38], 0
push dword [ebp - 0x38]
push edx
call fcn.00404f70
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
push 0
push 0
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 0x10
cmovae eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov ecx, dword [ebp - 0x54]
mov dword [edi + 0x18], eax
cmp ecx, 0x10
jb 0x40c15d
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c153
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf48
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp ecx, 0x10
jb 0x40c1a7
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c19d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf48
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x28]
mov edx, dword [esi + 0x58]
call fcn.004051e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov edx, dword [edi + 0x18]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
test edx, edx
jne 0x40c1d5
xor eax, eax
jmp 0x40c28b
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + edx + 0x78]
add esi, edx
mov dword [ebp - 0x34], esi
cmp ecx, 0xffff
ja 0x40c1f4
mov eax, dword [esi + 0x1c]
movzx ecx, cx
jmp 0x40c280
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x20]
dec eax
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x38], esi
lea esi, [ecx + eax]
mov ecx, dword [ebp - 0x38]
shr esi, 1
lea eax, [edx + esi*4]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp - 0x2c]
add eax, edx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c240
test dl, dl
je 0x40c23c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c240
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c220
xor eax, eax
jmp 0x40c245
sbb eax, eax
or eax, 1
test eax, eax
jns 0x40c254
mov eax, dword [ebp - 0x30]
lea ecx, [esi + 1]
mov dword [ebp - 0x70], ecx
jmp 0x40c25f
jle 0x40c26a
mov ecx, dword [ebp - 0x70]
lea eax, [esi - 1]
mov dword [ebp - 0x30], eax
mov edx, dword [edi + 0x18]
cmp ecx, eax
jbe 0x40c206
xor eax, eax
jmp 0x40c288
mov eax, dword [ebp - 0x34]
mov edx, dword [edi + 0x18]
mov eax, dword [eax + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov esi, dword [ebp - 0x6c]
mov dword [edi + 0x30], eax
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x50]
call fcn.004051e0
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0x10
jb 0x40c2a5
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x2c], eax
cmp ecx, 0x10
jb 0x40c2e9
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c2df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf4d
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x28]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x40c300
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x34], eax
cmp ecx, 0x10
jb 0x40c344
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c33a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf52
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x2c]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x40c35b
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x38], eax
cmp ecx, 0x10
jb 0x40c39f
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c395
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf57
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
jb 0x40c3b6
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x40], eax
cmp ecx, 0x10
jb 0x40c3fa
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c3f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf5c
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x34]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
jb 0x40c411
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x3c], eax
cmp ecx, 0x10
jb 0x40c455
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c44b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf61
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x38]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x40c46c
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x44], eax
cmp ecx, 0x10
jb 0x40c4b0
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c4a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf66
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x40]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x40c4c7
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x48], eax
cmp ecx, 0x10
jb 0x40c50b
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c501
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf6b
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x48]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x40c522
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x4c], eax
cmp ecx, 0x10
jb 0x40c566
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c55c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf70
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x4c]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0x10
jb 0x40c57d
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x50], eax
cmp ecx, 0x10
jb 0x40c5c1
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf75
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x54]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 0x10
jb 0x40c5d8
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x54], eax
cmp ecx, 0x10
jb 0x40c61c
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c612
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf7a
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x70]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 0x10
jb 0x40c633
mov eax, dword [eax]
push eax
push dword [edi + 0x18]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x58], eax
cmp ecx, 0x10
jb 0x40c677
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c66d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf7f
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x74]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0xe
mov esi, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x30], edi
jb 0x40c69b
mov esi, dword [edi]
mov dword [ebp - 0x30], esi
mov eax, dword [ecx + 0x10]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
cmp edx, eax
ja 0x40c6df
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x40c6c4
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f0f0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x38]
jmp 0x40c6ee
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f70
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 0x10
cmovae eax, dword [ebp - 0x68]
push eax
mov eax, dword [edi + 0x2c]
call eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x54]
mov dword [edi + 0x1c], eax
cmp ecx, 0x10
jb 0x40c775
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c76b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf84
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp ecx, 0x10
jb 0x40c7bf
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c7b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf84
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x78]
call fcn.004051e0
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x40c7d9
mov eax, dword [eax]
push eax
push dword [edi + 0x1c]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x5c], eax
cmp ecx, 0x10
jb 0x40c81d
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c813
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf89
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x7c]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0x11
mov esi, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x30], edi
jb 0x40c841
mov esi, dword [edi]
mov dword [ebp - 0x30], esi
mov eax, dword [ecx + 0x10]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
cmp edx, eax
ja 0x40c885
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x40c86a
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f0f0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x38]
jmp 0x40c894
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f70
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 0x10
cmovae eax, dword [ebp - 0x68]
push eax
mov eax, dword [edi + 0x2c]
call eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x54]
mov dword [edi + 0x20], eax
cmp ecx, 0x10
jb 0x40c91b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c911
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf8e
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp ecx, 0x10
jb 0x40c965
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c95b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf8e
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x80]
call fcn.004051e0
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
jb 0x40c982
mov eax, dword [eax]
push eax
push dword [edi + 0x20]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x60], eax
cmp ecx, 0x10
jb 0x40c9c6
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c9bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf93
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x84]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 0x10
jb 0x40c9e0
mov eax, dword [eax]
push eax
push dword [edi + 0x20]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x64], eax
cmp ecx, 0x10
jb 0x40ca24
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ca1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf98
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x88]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 0x10
jb 0x40ca3e
mov eax, dword [eax]
push eax
push dword [edi + 0x20]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x68], eax
cmp ecx, 0x10
jb 0x40ca82
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ca78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf9d
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x8c]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0x16
mov esi, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x30], edi
jb 0x40caa9
mov esi, dword [edi]
mov dword [ebp - 0x30], esi
mov eax, dword [ecx + 0x10]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
cmp edx, eax
ja 0x40caed
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x40cad2
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f0f0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x38]
jmp 0x40cafc
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f70
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 0x10
cmovae eax, dword [ebp - 0x68]
push eax
mov eax, dword [edi + 0x2c]
call eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x54]
mov dword [edi + 0x24], eax
cmp ecx, 0x10
jb 0x40cb83
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfa2
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp ecx, 0x10
jb 0x40cbcd
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cbc3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfa2
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x90]
call fcn.004051e0
mov byte [ebp - 4], 0x18
cmp dword [eax + 0x14], 0x10
jb 0x40cbea
mov eax, dword [eax]
push eax
push dword [edi + 0x24]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x6c], eax
cmp ecx, 0x10
jb 0x40cc2e
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cc24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfa7
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x94]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 0x10
jb 0x40cc48
mov eax, dword [eax]
push eax
push dword [edi + 0x24]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x70], eax
cmp ecx, 0x10
jb 0x40cc8c
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cc82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfac
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0x98]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0x1a
mov esi, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x30], edi
jb 0x40ccb3
mov esi, dword [edi]
mov dword [ebp - 0x30], esi
mov eax, dword [ecx + 0x10]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
cmp edx, eax
ja 0x40ccf7
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x40ccdc
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f0f0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x38]
jmp 0x40cd06
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f70
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 0x10
cmovae eax, dword [ebp - 0x68]
push eax
mov eax, dword [edi + 0x2c]
call eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x54]
mov dword [edi + 0x28], eax
cmp ecx, 0x10
jb 0x40cd8d
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cd83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfb1
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp ecx, 0x10
jb 0x40cdd7
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cdcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfb1
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x9c]
call fcn.004051e0
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x40cdf4
mov eax, dword [eax]
push eax
push dword [edi + 0x28]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x74], eax
cmp ecx, 0x10
jb 0x40ce38
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfb6
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0xa0]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 0x10
jb 0x40ce52
mov eax, dword [eax]
push eax
push dword [edi + 0x28]
mov eax, dword [edi + 0x30]
call eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x78], eax
cmp ecx, 0x10
jb 0x40ce96
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce8c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfbb
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov edx, dword [esi + 0xa4]
lea ecx, [ebp - 0x50]
call fcn.004051e0
mov byte [ebp - 4], 0x1e
cmp dword [eax + 0x14], 0x10
jb 0x40ceb0
mov eax, dword [eax]
push eax
push dword [edi + 0x28]
mov eax, dword [edi + 0x30]
call eax
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x7c], eax
cmp ecx, 0x10
jb 0x40cef0
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cee6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfc0
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x40cf24
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cfc5
push ecx
push edx
call fcn.0040df5b
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040dccc
mov esp, ebp
pop ebp
ret 4
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
call fcn.004127af
int3