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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x80
push ebx
mov ebx, dword [esp + 0x10]
mov eax, 0x12823d32
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
mov edi, dword [esp + 0x18]
mov esi, 0x2564be4f
jmp 0x3c6560
cmp eax, 0x1ff46034
jg 0x3c6878
je 0x3c6ee9
cmp eax, 0xfd5a1ac
jg 0x3c674d
je 0x3c6735
cmp eax, 0xd28318f
jg 0x3c6672
je 0x3c663e
cmp eax, 0x8e1a01c
jg 0x3c65dd
je 0x3c65cd
cmp eax, 0x2c8787f
je 0x3c65c1
cmp eax, 0x4326e25
jne 0x3c69be
lea ecx, [esp + 0x84]
call fcn.003cb050
mov eax, 0x2b42ebb2
jmp 0x3c6560
call fcn.003c8530
mov eax, 0xddcb99d
jmp 0x3c6560
lea ecx, [esp + 0x7c]
call fcn.003c60e0
mov eax, 0x4326e25
jmp 0x3c6560
cmp eax, 0xa28b6e5
je 0x3c662b
cmp eax, 0xb70f210
jne 0x3c69be
call fcn.003c8240
mov ecx, dword [0x3ce2ec]
test eax, eax
je 0x3c6612
cmp dword [ecx + 0x268], 0
mov eax, 0xe0d6cd8
cmovne eax, esi
jmp 0x3c6560
cmp dword [ecx + 0x268], 0
mov eax, 0x166b1152
mov ecx, 0x3278b521
cmovne eax, ecx
jmp 0x3c6560
mov ecx, dword [esp + 0x34]
call fcn.003c4250
mov eax, 0x1c32e2d2
jmp 0x3c6560
mov dword [esp + 0x18], 0x669c
mov eax, 0xcccccccd
mov ecx, dword [esp + 0x18]
mul ecx
shr edx, 5
mov dword [esp + 0x18], edx
xor dword [esp + 0x18], 0x178
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov eax, 0x8e1a01c
jmp 0x3c6560
cmp eax, 0xe9d6a0f
jg 0x3c6713
je 0x3c66ef
cmp eax, 0xddcb99d
je 0x3c66c2
cmp eax, 0xe0d6cd8
jne 0x3c69be
call fcn.003c9d70
push 0xcf
mov edx, 0xcfd93ac1
mov ecx, 0xbb398380
mov ebp, 0x1c5e7f9f
call fcn.003c4190
add esp, 4
call eax
mov edi, eax
mov ebx, edx
mov eax, 0x2537e9de
jmp 0x3c6560
lea ecx, [esp + 0x3c]
call fcn.003cb2b0
test eax, eax
je 0x3c66e5
xorps xmm0, xmm0
mov ebp, 0x8e1a01c
movlpd qword [esp + 0x18], xmm0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, 0xa28b6e5
jmp 0x3c6560
call fcn.003c7ec0
mov ecx, dword [0x3ce2ec]
mov eax, 0x14860a92
cmp dword [ecx + 0x268], 0
mov ecx, 0x21c0adc4
cmovne eax, ecx
jmp 0x3c6560
cmp eax, 0xf0c159c
jne 0x3c69be
call fcn.003c96b0
test eax, eax
je 0x3c6f08
mov eax, 0xfd5a1ac
jmp 0x3c6560
call fcn.003c90c0
neg eax
sbb eax, eax
and eax, 0x810ea45
add eax, 0xb70f210
jmp 0x3c6560
cmp eax, 0x16bf64f2
jg 0x3c6809
je 0x3c67b7
cmp eax, 0x14860a92
jg 0x3c679d
je 0x3c678e
cmp eax, 0x12823d32
je 0x3c6784
cmp eax, 0x1381dc55
jne 0x3c69be
call fcn.003c9470
mov eax, 0x315a7589
jmp 0x3c6560
mov eax, 0x27047861
jmp 0x3c6560
call fcn.003c8550
mov eax, 0x2aa5d516
jmp 0x3c6560
cmp eax, 0x166b1152
jne 0x3c69be
call fcn.003c8ea0
mov eax, 0x1381dc55
jmp 0x3c6560
lea ecx, [esp + 0x48]
call fcn.003c5f60
test eax, eax
je 0x3c6987
lea eax, [esp + 0x48]
mov dword [esp + 0x64], eax
mov eax, dword [0x3ce144]
test eax, eax
jne 0x3c67f4
mov ecx, 0xbb398380
call fcn.003c3f20
mov edx, 0x5262aeca
mov ecx, eax
call fcn.003c3e80
mov dword [0x3ce144], eax
lea ecx, [esp + 0x48]
push ecx
call eax
mov dword [esp + 0x68], eax
mov eax, 0x1fdef138
jmp 0x3c6560
cmp eax, 0x1ea773fc
jg 0x3c6854
je 0x3c6841
cmp eax, 0x1c32e2d2
je 0x3c682e
cmp eax, 0x1c5e7f9f
jne 0x3c69be
mov eax, 0x30d1bd42
jmp 0x3c6560
mov ecx, dword [esp + 0x24]
call fcn.003c4250
mov eax, 0x39deb3f9
jmp 0x3c6560
call fcn.003c5360
mov dword [esp + 0x6c], eax
mov eax, 0x216a974b
jmp 0x3c6560
cmp eax, 0x1fdef138
jne 0x3c69be
mov eax, dword [0x3ce2ec]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x8c], eax
mov eax, 0x1ea773fc
jmp 0x3c6560
cmp eax, 0x2b42ebb2
jg 0x3c6c63
je 0x3c6c43
cmp eax, 0x2564be4f
jg 0x3c69e9
je 0x3c69d1
cmp eax, 0x226f6c18
jg 0x3c68e6
je 0x3c68d7
cmp eax, 0x216a974b
je 0x3c68c4
cmp eax, 0x21c0adc4
jne 0x3c69be
call fcn.003c87d0
mov eax, 0x14860a92
jmp 0x3c6560
call fcn.003c47a0
mov dword [esp + 0x70], eax
mov eax, 0x27dc0a4c
jmp 0x3c6560
call fcn.003c6fb0
mov eax, 0xf0c159c
jmp 0x3c6560
cmp eax, 0x2537e9de
jne 0x3c69be
mov eax, edi
or eax, ebx
je 0x3c69bc
mov dword [esp + 0x14], 0x1f9e
shr dword [esp + 0x14], 0xc
add dword [esp + 0x14], 0xffff30c3
xor dword [esp + 0x14], 0xffff3064
call fcn.003c5cd0
cmp eax, dword [esp + 0x14]
jbe 0x3c6959
push 0xb3
mov edx, 0xae3c1a47
mov ecx, 0xbb398380
call fcn.003c4190
add esp, 4
call eax
mov edx, eax
call fcn.003c5cd0
mov esi, eax
call fcn.003c5d00
sub esi, eax
mov eax, edx
xor edx, edx
div esi
mov esi, 0x2564be4f
jmp 0x3c695b
xor edx, edx
mov dword [esp + 0x14], 0x1f9e
shr dword [esp + 0x14], 0xc
add dword [esp + 0x14], 0xffff30c3
xor dword [esp + 0x14], 0xffff3064
mov ecx, dword [esp + 0x14]
add ecx, edx
call fcn.003c9ea0
test eax, eax
je 0x3c6991
mov eax, 0x1ff46034
jmp 0x3c6560
push 0xcf
mov edx, 0xcfd93ac1
mov ecx, 0xbb398380
call fcn.003c4190
add esp, 4
call eax
cmp edx, ebx
jb 0x3c66b8
ja 0x3c69bc
cmp eax, edi
jb 0x3c66b8
mov eax, ebp
cmp eax, 0x33f417f9
jne 0x3c6560
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.003c9320
neg eax
sbb eax, eax
and eax, 0x1c98683e
add eax, 0xe0d6cd8
jmp 0x3c6560
cmp eax, 0x2aa5d516
jg 0x3c6a2e
je 0x3c6ef6
cmp eax, 0x27047861
je 0x3c6a17
cmp eax, 0x27dc0a4c
jne 0x3c69be
call fcn.003c5ea0
mov dword [esp + 0x74], eax
mov eax, 0xd28318f
jmp 0x3c6560
call fcn.003c7160
test eax, eax
je 0x3c6f08
mov eax, 0x226f6c18
jmp 0x3c6560
cmp eax, 0x2acfa9b6
jne 0x3c69be
mov dword [esp + 0x14], 0xe36c
lea edx, [esp + 0x24]
imul eax, dword [esp + 0x14], 0x71
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xffff86a2
imul eax, dword [esp + 0x14], 0x7b
mov dword [esp + 0x14], eax
lea eax, [esp + 0x34]
shr dword [esp + 0x14], 6
or dword [esp + 0x14], 0x57610b65
xor dword [esp + 0x14], 0x57e10f64
mov ecx, dword [esp + 0x14]
push eax
call fcn.003c12b0
add esp, 4
test eax, eax
je 0x3c6b7a
mov dword [esp + 0x18], 0xb2e0
mov ebp, 0x8e1a01c
mov eax, dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 2
mov dword [esp + 0x18], ecx
xor dword [esp + 0x18], 0x245720
mov dword [esp + 0x14], 0x89fa
add dword [esp + 0x14], 0xffffb442
add dword [esp + 0x14], 0xffffdaaf
shr dword [esp + 0x14], 0xb
xor dword [esp + 0x14], 0xc3503
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
jbe 0x3c6b14
push 0xb3
mov edx, 0xae3c1a47
mov ecx, 0xbb398380
call fcn.003c4190
add esp, 4
call eax
mov esi, eax
call fcn.003c5dc0
mov edx, eax
call fcn.003c5d90
mov ecx, eax
mov eax, esi
sub ecx, edx
xor edx, edx
div ecx
mov esi, edx
jmp 0x3c6b16
xor esi, esi
mov eax, dword [0x3cddbc]
test eax, eax
jne 0x3c6b3a
mov ecx, 0xbb398380
call fcn.003c3f20
mov edx, 0xcfd93ac1
mov ecx, eax
call fcn.003c3e80
mov dword [0x3cddbc], eax
mov dword [esp + 0x14], 0x89fa
add dword [esp + 0x14], 0xffffb442
add dword [esp + 0x14], 0xffffdaaf
shr dword [esp + 0x14], 0xb
xor dword [esp + 0x14], 0xc3503
call eax
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x14]
add eax, esi
add edi, eax
mov eax, 0x380a1784
adc ebx, 0
jmp 0x3c6551
mov ecx, dword [0x3ce2e0]
add dword [ecx + 0xc], 8
mov eax, dword [ecx + 0xc]
cmp dword [eax], 0
jne 0x3c6b92
mov eax, dword [ecx + 8]
mov dword [ecx + 0xc], eax
mov dword [esp + 0x14], 0xc5a1
mov ebp, 0x8e1a01c
xor dword [esp + 0x14], 0xe0738efa
shr dword [esp + 0x14], 6
add dword [esp + 0x14], 0xffffe737
xor dword [esp + 0x14], 0x381bbc4
call fcn.003c5d50
cmp dword [esp + 0x14], eax
jbe 0x3c6bfc
push 0xb3
mov edx, 0xae3c1a47
mov ecx, 0xbb398380
call fcn.003c4190
add esp, 4
call eax
mov esi, eax
call fcn.003c5d50
mov edx, eax
call fcn.003c5d20
mov ecx, eax
mov eax, esi
sub ecx, edx
xor edx, edx
div ecx
mov ebx, edx
jmp 0x3c6bfe
xor ebx, ebx
mov edi, dword [0x3cddbc]
test edi, edi
jne 0x3c6c26
mov ecx, 0xbb398380
call fcn.003c3f20
mov edx, 0xcfd93ac1
mov ecx, eax
call fcn.003c3e80
mov edi, eax
mov dword [0x3cddbc], edi
call fcn.003c5d50
lea esi, [ebx + eax]
call edi
mov edi, eax
mov ebx, edx
add edi, esi
mov eax, 0x1c32e2d2
adc ebx, 0
jmp 0x3c6551
lea edx, [esp + 0x24]
lea ecx, [esp + 0x64]
call fcn.003c72a0
neg eax
sbb eax, eax
and eax, 0xf0f0f5bd
add eax, 0x39deb3f9
jmp 0x3c6560
cmp eax, 0x3299e430
jg 0x3c6cf8
je 0x3c6f03
cmp eax, 0x315a7589
jg 0x3c6cde
je 0x3c6cc7
cmp eax, 0x30d1bd42
je 0x3c6c99
cmp eax, 0x314203dc
jne 0x3c69be
mov eax, 0x39f8f5db
jmp 0x3c6560
lea edx, [esp + 0x30]
mov ecx, 0x3cd2e0
call fcn.003c3310
mov esi, eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.003c1890
mov ecx, esi
call fcn.003c3460
mov eax, 0x314203dc
jmp 0x3c6551
call fcn.003c8a10
test eax, eax
je 0x3c6f08
mov eax, 0xe9d6a0f
jmp 0x3c6560
cmp eax, 0x3278b521
jne 0x3c69be
call fcn.003c8cd0
mov eax, 0x166b1152
jmp 0x3c6560
cmp eax, 0x39deb3f9
jg 0x3c6d79
je 0x3c6d63
cmp eax, 0x3540656b
je 0x3c6d50
cmp eax, 0x380a1784
jne 0x3c69be
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x34]
call fcn.003c74e0
test eax, eax
je 0x3c66e5
xor ecx, ecx
call fcn.003cae60
mov ecx, dword [esp + 0x44]
mov eax, 0x2c8787f
test ecx, ecx
je 0x3c6560
cmp ecx, 7
mov ecx, 0x3299e430
cmove eax, ecx
jmp 0x3c6560
mov ecx, dword [esp + 0x7c]
call fcn.003c4250
mov eax, 0x2537e9de
jmp 0x3c6560
mov ecx, dword [esp + 0x84]
call fcn.003c4250
mov eax, 0x3540656b
jmp 0x3c6560
cmp eax, 0x39f8f5db
jne 0x3c69be
mov dword [esp + 0x18], 0xaaf5
mov ebp, 0x16bf64f2
shr dword [esp + 0x18], 3
add dword [esp + 0x18], 0xffff9253
xor dword [esp + 0x18], 0xffff9931
mov dword [esp + 0x14], 0xf5b3
add dword [esp + 0x14], 0xb403
add dword [esp + 0x14], 0xffff5bc8
add dword [esp + 0x14], 0x6fbb
add dword [esp + 0x14], 0xe315
or dword [esp + 0x14], 0x5d55179d
add dword [esp + 0x14], 0xafac
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
shl dword [esp + 0x14], 2
xor dword [esp + 0x14], 0x7560216c
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
jbe 0x3c6e57
mov edx, dword [0x3cdd4c]
test edx, edx
jne 0x3c6e25
mov ecx, 0xbb398380
call fcn.003c3f20
mov edx, 0xae3c1a47
mov ecx, eax
call fcn.003c3e80
mov edx, eax
mov dword [0x3cdd4c], edx
mov dword [esp + 0x18], 0xaaf5
shr dword [esp + 0x18], 3
add dword [esp + 0x18], 0xffff9253
xor dword [esp + 0x18], 0xffff9931
call fcn.003c5e10
mov esi, dword [esp + 0x18]
sub esi, eax
call edx
xor edx, edx
div esi
mov esi, edx
jmp 0x3c6e59
xor esi, esi
mov ecx, dword [0x3cddbc]
test ecx, ecx
jne 0x3c6e81
mov ecx, 0xbb398380
call fcn.003c3f20
mov edx, 0xcfd93ac1
mov ecx, eax
call fcn.003c3e80
mov ecx, eax
mov dword [0x3cddbc], ecx
mov dword [esp + 0x14], 0xf5b3
add dword [esp + 0x14], 0xb403
add dword [esp + 0x14], 0xffff5bc8
add dword [esp + 0x14], 0x6fbb
add dword [esp + 0x14], 0xe315
or dword [esp + 0x14], 0x5d55179d
add dword [esp + 0x14], 0xafac
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
shl dword [esp + 0x14], 2
xor dword [esp + 0x14], 0x7560216c
call ecx
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x14]
add eax, esi
add edi, eax
mov eax, 0x2537e9de
adc ebx, 0
jmp 0x3c6551
call fcn.003cb160
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.003c8ba0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.003c8590
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret