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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4285dd
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x435040]
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 [0x436cd8]
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.004051c0
mov esi, eax
cmp edi, esi
je 0x40c0eb
mov ecx, dword [edi + 0x14]
cmp ecx, 0xf
jbe 0x40c0b9
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x40c0af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d006
mov eax, edx
push ecx
push eax
call fcn.0040e01f
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, 0xf
jbe 0x40c11f
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c115
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d006
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x24]
call fcn.004051c0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 1
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x30], edi
jbe 0x40c146
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 0x40c18a
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x70]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x40c16f
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f210
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x38]
jmp 0x40c199
push edx
push esi
mov byte [ebp - 0x38], 0
push dword [ebp - 0x38]
push edx
call fcn.00404f50
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], 0xf
cmova 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, 0xf
jbe 0x40c21d
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c213
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d00b
push ecx
push edx
call fcn.0040e01f
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, 0xf
jbe 0x40c267
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c25d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d00b
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x28]
mov edx, dword [esi + 0x58]
call fcn.004051c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
mov edx, dword [edi + 0x18]
cmova ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
test edx, edx
jne 0x40c295
xor eax, eax
jmp 0x40c34e
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0x70], eax
cmp ecx, 0xffff
ja 0x40c2b1
movzx ecx, cx
jmp 0x40c343
mov esi, dword [ebp - 0x70]
mov eax, dword [eax + 0x18]
dec eax
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov esi, dword [esi + 0x20]
mov dword [ebp - 0x34], 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 0x40c300
test dl, dl
je 0x40c2fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c300
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c2e0
xor eax, eax
jmp 0x40c305
sbb eax, eax
or eax, 1
test eax, eax
jns 0x40c314
mov eax, dword [ebp - 0x30]
lea ecx, [esi + 1]
mov dword [ebp - 0x34], ecx
jmp 0x40c31f
jle 0x40c32d
mov ecx, dword [ebp - 0x34]
lea eax, [esi - 1]
mov dword [ebp - 0x30], eax
mov edx, dword [edi + 0x18]
cmp ecx, eax
jbe 0x40c2c6
mov esi, dword [ebp - 0x6c]
xor eax, eax
jmp 0x40c34e
mov eax, dword [ebp - 0x70]
mov edx, dword [edi + 0x18]
mov eax, dword [eax + 0x24]
lea eax, [eax + esi*2]
mov esi, dword [ebp - 0x6c]
movzx ecx, word [eax + edx]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [edi + 0x30], eax
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x50]
call fcn.004051c0
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0xf
jbe 0x40c368
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, 0xf
jbe 0x40c3ac
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c3a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d010
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x28]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0xf
jbe 0x40c3c3
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, 0xf
jbe 0x40c407
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c3fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d015
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x2c]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0xf
jbe 0x40c41e
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, 0xf
jbe 0x40c462
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c458
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d01a
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x30]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0xf
jbe 0x40c479
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, 0xf
jbe 0x40c4bd
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c4b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d01f
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x34]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0xf
jbe 0x40c4d4
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, 0xf
jbe 0x40c518
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c50e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d024
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x38]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0xf
jbe 0x40c52f
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, 0xf
jbe 0x40c573
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c569
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d029
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x40]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0xf
jbe 0x40c58a
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, 0xf
jbe 0x40c5ce
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d02e
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x48]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0xf
jbe 0x40c5e5
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, 0xf
jbe 0x40c629
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c61f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d033
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x4c]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0xf
jbe 0x40c640
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, 0xf
jbe 0x40c684
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c67a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d038
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x54]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 0xf
jbe 0x40c69b
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, 0xf
jbe 0x40c6df
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c6d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d03d
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x70]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 0xf
jbe 0x40c6f6
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, 0xf
jbe 0x40c73a
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c730
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d042
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x74]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0xe
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x30], edi
jbe 0x40c75e
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 0x40c7a2
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x40c787
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f210
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x38]
jmp 0x40c7b1
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f50
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], 0xf
cmova 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, 0xf
jbe 0x40c838
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c82e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d047
push ecx
push edx
call fcn.0040e01f
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, 0xf
jbe 0x40c882
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c878
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d047
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x78]
call fcn.004051c0
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x40c89c
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, 0xf
jbe 0x40c8e0
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c8d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d04c
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x7c]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0x11
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x30], edi
jbe 0x40c904
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 0x40c948
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x40c92d
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f210
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x38]
jmp 0x40c957
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f50
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], 0xf
cmova 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, 0xf
jbe 0x40c9de
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c9d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d051
push ecx
push edx
call fcn.0040e01f
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, 0xf
jbe 0x40ca28
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ca1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d051
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x80]
call fcn.004051c0
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0xf
jbe 0x40ca45
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, 0xf
jbe 0x40ca89
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ca7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d056
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x84]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 0xf
jbe 0x40caa3
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, 0xf
jbe 0x40cae7
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cadd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d05b
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x88]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 0xf
jbe 0x40cb01
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, 0xf
jbe 0x40cb45
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d060
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x8c]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0x16
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x30], edi
jbe 0x40cb6c
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 0x40cbb0
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x40cb95
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f210
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x38]
jmp 0x40cbbf
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f50
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], 0xf
cmova 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, 0xf
jbe 0x40cc46
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cc3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d065
push ecx
push edx
call fcn.0040e01f
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, 0xf
jbe 0x40cc90
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cc86
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d065
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x90]
call fcn.004051c0
mov byte [ebp - 4], 0x18
cmp dword [eax + 0x14], 0xf
jbe 0x40ccad
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, 0xf
jbe 0x40ccf1
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cce7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d06a
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x94]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 0xf
jbe 0x40cd0b
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, 0xf
jbe 0x40cd4f
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cd45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d06f
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0x98]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov ecx, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 0x1a
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x30], edi
jbe 0x40cd76
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 0x40cdba
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x34]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x40cd9f
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
add esi, eax
push esi
call fcn.0040f210
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x38]
jmp 0x40cdc9
push edx
push esi
mov byte [ebp - 0x2c], 0
push dword [ebp - 0x2c]
push edx
call fcn.00404f50
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], 0xf
cmova 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, 0xf
jbe 0x40ce50
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce46
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d074
push ecx
push edx
call fcn.0040e01f
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, 0xf
jbe 0x40ce9a
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d074
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov edx, dword [esi + 0x9c]
call fcn.004051c0
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x14], 0xf
jbe 0x40ceb7
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, 0xf
jbe 0x40cefb
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cef1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d079
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0xa0]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 0xf
jbe 0x40cf15
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, 0xf
jbe 0x40cf59
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d07e
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov edx, dword [esi + 0xa4]
lea ecx, [ebp - 0x50]
call fcn.004051c0
mov byte [ebp - 4], 0x1e
cmp dword [eax + 0x14], 0xf
jbe 0x40cf73
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, 0xf
jbe 0x40cfb3
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cfa9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d083
push ecx
push edx
call fcn.0040e01f
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40cfe7
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cfdd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d088
push ecx
push edx
call fcn.0040e01f
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.0040dd90
mov esp, ebp
pop ebp
ret 4
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
call fcn.004128df
int3