Function at 0x3965e0
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 + 0xc]
mov eax, 0x10e9bb52
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
mov edi, dword [esp + 0x20]
mov esi, 0x3251fefe
jmp 0x396610
cmp eax, 0x1bc488ca
jg 0x396bda
je 0x396bc2
cmp eax, 0xc403738
jg 0x396a44
je 0x3968cc
cmp eax, 0x99d9f33
jg 0x396838
je 0x396811
cmp eax, 0x4d162d3
jg 0x3967b4
je 0x396675
cmp eax, 0x1b08adb
je 0x39666e
cmp eax, 0x2609a3b
jne 0x3968d4
call fcn.00399620
mov eax, 0x28a63df9
jmp 0x396610
mov eax, 0x3355994e
jmp 0x396610
mov dword [esp + 0x20], 0x4b49
lea eax, [esp + 0x24]
shl dword [esp + 0x20], 0x10
lea edx, [esp + 0x34]
xor dword [esp + 0x20], 0x4b490001
mov ecx, dword [esp + 0x20]
push eax
call fcn.003912b0
add esp, 4
test eax, eax
je 0x39672a
mov edi, 0x1a1794c0
mov dword [esp + 0x20], edi
call fcn.00395e80
mov edx, eax
call fcn.00395e50
cmp eax, edx
jbe 0x3966f5
push 0xca
mov edx, 0xd8ef4c49
mov ecx, 0x9bab0b12
call fcn.00394160
add esp, 4
call eax
mov esi, eax
call fcn.00395e80
mov edx, eax
call fcn.00395e50
mov ecx, eax
mov eax, esi
sub ecx, edx
xor edx, edx
div ecx
mov esi, edx
jmp 0x3966f7
xor esi, esi
push 0x1eb
mov edx, 0xb90a6ccf
mov ecx, 0x9bab0b12
call fcn.00394160
add esp, 4
call eax
mov ebx, eax
mov ebp, edx
call fcn.00395e80
add eax, esi
add ebx, eax
mov eax, 0x62c3963
adc ebp, 0
jmp 0x396601
call fcn.00391290
mov edi, 0x1a1794c0
mov dword [esp + 0x20], edi
call fcn.00395da0
mov esi, eax
call fcn.00395e00
cmp esi, eax
jbe 0x39677f
push 0xca
mov edx, 0xd8ef4c49
mov ecx, 0x9bab0b12
call fcn.00394160
add esp, 4
call eax
mov esi, eax
call fcn.00395da0
mov edi, eax
call fcn.00395e00
sub edi, eax
xor edx, edx
mov eax, esi
div edi
mov edi, dword [esp + 0x20]
mov esi, edx
jmp 0x396781
xor esi, esi
push 0x1eb
mov edx, 0xb90a6ccf
mov ecx, 0x9bab0b12
call fcn.00394160
add esp, 4
call eax
mov ebx, eax
mov ebp, edx
call fcn.00395e00
add eax, esi
add ebx, eax
mov eax, 0x50dcbff
adc ebp, 0
jmp 0x396601
cmp eax, 0x50dcbff
je 0x3967fe
cmp eax, 0x62c3963
jne 0x3968d4
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x24]
call fcn.00397650
test eax, eax
je 0x396ae6
xor ecx, ecx
call fcn.0039afe0
mov ecx, dword [esp + 0x44]
mov eax, 0x10d6bdbf
test ecx, ecx
je 0x396610
cmp ecx, 7
cmove eax, esi
jmp 0x396610
mov ecx, dword [esp + 0x34]
call fcn.00394220
mov eax, 0x1b363693
jmp 0x396610
mov dword [esp + 0x18], 0xe61e
shr dword [esp + 0x18], 2
xor dword [esp + 0x18], 0x1340267
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], eax
mov eax, 0x1ba655e5
jmp 0x396610
cmp eax, 0xb7b0115
jg 0x3968b6
je 0x3968a7
cmp eax, 0xb253d66
je 0x396894
cmp eax, 0xb765cf9
jne 0x3968d4
call fcn.00398400
mov ecx, dword [0x39e54c]
test eax, eax
je 0x39687b
cmp dword [ecx + 0x220], 0
mov eax, 0x15f108c5
mov ecx, 0x1bc488ca
cmovne eax, ecx
jmp 0x396610
cmp dword [ecx + 0x220], 0
mov eax, 0x2e7e0c52
mov ecx, 0x2200eb3b
cmovne eax, ecx
jmp 0x396610
mov ecx, dword [esp + 0x24]
call fcn.00394220
mov eax, 0x50dcbff
jmp 0x396610
call fcn.00397120
mov eax, 0x3697b389
jmp 0x396610
cmp eax, 0xc039e9a
jne 0x3968d4
call fcn.00398700
mov eax, 0x28af9e25
jmp 0x396610
mov eax, ebx
or eax, ebp
jne 0x3968e7
mov eax, edi
cmp eax, 0x293c010e
jne 0x396610
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x18], 0xcb73
xor dword [esp + 0x18], 0xa3afb83
shr dword [esp + 0x18], 0xe
shl dword [esp + 0x18], 0xf
imul eax, dword [esp + 0x18], 0x63
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0xe8dc00a0
call fcn.00395d10
cmp eax, dword [esp + 0x18]
jbe 0x396985
mov edi, dword [0x39de08]
test edi, edi
jne 0x396945
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0xd8ef4c49
mov ecx, eax
call fcn.00393e60
mov edi, eax
mov dword [0x39de08], edi
mov dword [esp + 0x18], 0xcb73
xor dword [esp + 0x18], 0xa3afb83
shr dword [esp + 0x18], 0xe
shl dword [esp + 0x18], 0xf
imul eax, dword [esp + 0x18], 0x63
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0xe8dc00a0
call fcn.00395d10
mov ecx, dword [esp + 0x18]
mov esi, eax
sub esi, ecx
call edi
xor edx, edx
div esi
jmp 0x396987
xor edx, edx
mov dword [esp + 0x18], 0xcb73
xor dword [esp + 0x18], 0xa3afb83
shr dword [esp + 0x18], 0xe
shl dword [esp + 0x18], 0xf
imul eax, dword [esp + 0x18], 0x63
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0xe8dc00a0
mov esi, dword [esp + 0x18]
mov ecx, dword [0x39db5c]
add esi, edx
test ecx, ecx
jne 0x3969e0
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0x2194248e
mov ecx, eax
call fcn.00393e60
mov ecx, eax
mov dword [0x39db5c], ecx
mov eax, dword [0x39e550]
push esi
push dword [eax + 0x14]
call ecx
cmp eax, 0x102
je 0x3969fc
mov eax, 0x32f9862d
jmp 0x3965fd
mov eax, dword [0x39e28c]
test eax, eax
jne 0x396a20
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0xb90a6ccf
mov ecx, eax
call fcn.00393e60
mov dword [0x39e28c], eax
call eax
cmp edx, ebp
jb 0x396fc8
ja 0x396a34
cmp eax, ebx
jb 0x396fc8
mov edi, dword [esp + 0x20]
mov esi, 0x3251fefe
mov eax, edi
jmp 0x3968d4
cmp eax, 0x15f108c5
jg 0x396b56
je 0x396b14
cmp eax, 0x10d6bdbf
jg 0x396aff
je 0x396af0
cmp eax, 0xd118b9c
je 0x396abf
cmp eax, 0xf3a9fea
jne 0x3968d4
lea ecx, [esp + 0x48]
call fcn.00396060
test eax, eax
je 0x396ab5
lea eax, [esp + 0x48]
mov edx, 0x24b1f8c4
push eax
push 0x218
mov ecx, 0x9bab0b12
mov dword [esp + 0x6c], eax
call fcn.00394160
add esp, 4
call eax
mov dword [esp + 0x68], eax
mov eax, 0x39301ec9
jmp 0x396610
mov eax, 0x32f9862d
jmp 0x396610
lea ecx, [esp + 0x3c]
call fcn.0039b430
test eax, eax
je 0x396ae6
xorps xmm0, xmm0
mov edi, 0x1a1794c0
movlpd qword [esp + 0x18], xmm0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x20], edi
mov eax, 0xb253d66
jmp 0x396610
call fcn.003986e0
mov eax, 0xd118b9c
jmp 0x396610
cmp eax, 0x10e9bb52
jne 0x3968d4
mov eax, 0x2e428786
jmp 0x396610
call fcn.00399f30
mov eax, dword [0x39e28c]
mov edi, 0x1ba0f19f
mov dword [esp + 0x20], edi
test eax, eax
jne 0x396b46
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0xb90a6ccf
mov ecx, eax
call fcn.00393e60
mov dword [0x39e28c], eax
call eax
mov ebx, eax
mov ebp, edx
mov eax, 0xc403738
jmp 0x396610
cmp eax, 0x1ba0f19f
jg 0x396ba4
je 0x396b9a
cmp eax, 0x1a1794c0
je 0x396b87
cmp eax, 0x1b363693
jne 0x3968d4
mov ecx, dword [esp + 0x84]
call fcn.00394220
mov eax, 0x2ff16e51
jmp 0x396610
lea ecx, [esp + 0x7c]
call fcn.003961e0
mov eax, 0x34aece17
jmp 0x396610
mov eax, 0x1cd4381f
jmp 0x396610
cmp eax, 0x1ba655e5
jne 0x3968d4
call fcn.00395ff0
mov dword [esp + 0x78], eax
mov eax, 0x1a1794c0
jmp 0x396610
call fcn.003994d0
neg eax
sbb eax, eax
and eax, 0x12be9560
add eax, 0x15f108c5
jmp 0x396610
cmp eax, 0x2ff16e51
jg 0x396d5f
je 0x396d00
cmp eax, 0x28a63df9
jg 0x396ca1
je 0x396c8a
cmp eax, 0x22e7b396
jg 0x396c67
je 0x396c54
cmp eax, 0x1cd4381f
je 0x396c26
cmp eax, 0x2200eb3b
jne 0x3968d4
call fcn.00398e80
mov eax, 0x2e7e0c52
jmp 0x396610
lea edx, [esp + 0x30]
mov ecx, 0x39d320
call fcn.00393310
mov esi, eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.00391840
mov ecx, esi
call fcn.00393460
mov eax, 0x1b08adb
jmp 0x396601
call fcn.003953d0
mov dword [esp + 0x6c], eax
mov eax, 0x320a2fc0
jmp 0x396610
cmp eax, 0x26a7c4f3
jne 0x3968d4
call fcn.00399270
neg eax
sbb eax, eax
and eax, 0xf6ea3d42
add eax, 0xb765cf9
jmp 0x396610
call fcn.00398bb0
test eax, eax
je 0x396dd2
mov eax, 0x31c22ee5
jmp 0x396610
cmp eax, 0x2e428786
jg 0x396ce6
je 0x396ccf
cmp eax, 0x28af9e25
je 0x397061
cmp eax, 0x2b2ba899
jne 0x3968d4
call fcn.00398970
mov eax, 0xc039e9a
jmp 0x396610
call fcn.003972d0
test eax, eax
je 0x396dd2
mov eax, 0xb7b0115
jmp 0x396610
cmp eax, 0x2e7e0c52
jne 0x3968d4
call fcn.00399050
mov eax, 0x2609a3b
jmp 0x396610
mov eax, dword [0x39e494]
test eax, eax
jne 0x396d24
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0x7facde30
mov ecx, eax
call fcn.00393e60
mov dword [0x39e494], eax
call eax
mov esi, eax
mov eax, dword [0x39df30]
test eax, eax
jne 0x396d4c
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0x5010a54d
mov ecx, eax
call fcn.00393e60
mov dword [0x39df30], eax
push dword [esp + 0x7c]
push 0
push esi
call eax
mov eax, 0xc403738
jmp 0x396601
cmp eax, 0x3355994e
jg 0x396fd2
je 0x396dda
cmp eax, 0x3251fefe
jg 0x396dc2
je 0x39706e
cmp eax, 0x31c22ee5
je 0x396d9e
cmp eax, 0x320a2fc0
jne 0x3968d4
call fcn.00394770
mov dword [esp + 0x70], eax
mov eax, 0x99d9f33
jmp 0x396610
call fcn.003980a0
mov ecx, dword [0x39e54c]
mov eax, 0xc039e9a
cmp dword [ecx + 0x220], 0
mov ecx, 0x2b2ba899
cmovne eax, ecx
jmp 0x396610
cmp eax, 0x32f9862d
jne 0x3968d4
call fcn.0039b2e0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x18], 0x96c3
mov eax, 0x8d3dcb09
add dword [esp + 0x18], 0x17b8
mov ecx, dword [esp + 0x18]
mul ecx
mov dword [esp + 0x20], 0xf3a9fea
shr edx, 4
mov dword [esp + 0x18], edx
add dword [esp + 0x18], 0xffff1bdc
add dword [esp + 0x18], 0x2513
imul eax, dword [esp + 0x18], 0x64
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0x37c0
add dword [esp + 0x18], 0xffff909a
mov eax, dword [esp + 0x18]
mov ecx, eax
shl ecx, 6
sub ecx, eax
mov eax, 0x38e38e39
mov dword [esp + 0x18], ecx
xor dword [esp + 0x18], 0xee286cba
mov dword [esp + 0x14], 0x39e7
or dword [esp + 0x14], 0x1ba4dd87
add dword [esp + 0x14], 0x949
mov ecx, dword [esp + 0x14]
mul ecx
shr edx, 4
mov dword [esp + 0x14], edx
xor dword [esp + 0x14], 0x47e6e439
xor dword [esp + 0x14], 0x2b9fcd36
shr dword [esp + 0x14], 7
shl dword [esp + 0x14], 0xa
add dword [esp + 0x14], 0xded3
xor dword [esp + 0x14], 0x60dbe593
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
jbe 0x396f39
mov edi, dword [0x39de08]
test edi, edi
jne 0x396ece
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0xd8ef4c49
mov ecx, eax
call fcn.00393e60
mov edi, eax
mov dword [0x39de08], edi
mov dword [esp + 0x18], 0x39e7
mov eax, 0x38e38e39
or dword [esp + 0x18], 0x1ba4dd87
add dword [esp + 0x18], 0x949
mov ecx, dword [esp + 0x18]
mul ecx
shr edx, 4
mov dword [esp + 0x18], edx
xor dword [esp + 0x18], 0x47e6e439
xor dword [esp + 0x18], 0x2b9fcd36
shr dword [esp + 0x18], 7
shl dword [esp + 0x18], 0xa
add dword [esp + 0x18], 0xded3
xor dword [esp + 0x18], 0x60dbe593
call fcn.00395ee0
mov ecx, dword [esp + 0x18]
mov esi, eax
sub esi, ecx
call edi
xor edx, edx
div esi
mov edi, edx
jmp 0x396f3b
xor edi, edi
mov esi, dword [0x39e28c]
test esi, esi
jne 0x396f63
mov ecx, 0x9bab0b12
call fcn.00393f00
mov edx, 0xb90a6ccf
mov ecx, eax
call fcn.00393e60
mov esi, eax
mov dword [0x39e28c], esi
mov dword [esp + 0x18], 0x39e7
mov eax, 0x38e38e39
or dword [esp + 0x18], 0x1ba4dd87
add dword [esp + 0x18], 0x949
mov ecx, dword [esp + 0x18]
mul ecx
shr edx, 4
mov dword [esp + 0x18], edx
xor dword [esp + 0x18], 0x47e6e439
xor dword [esp + 0x18], 0x2b9fcd36
shr dword [esp + 0x18], 7
shl dword [esp + 0x18], 0xa
add dword [esp + 0x18], 0xded3
xor dword [esp + 0x18], 0x60dbe593
call esi
mov ebx, eax
mov ebp, edx
mov eax, dword [esp + 0x18]
add eax, edi
add ebx, eax
adc ebp, 0
mov eax, 0xc403738
jmp 0x3965fd
cmp eax, 0x37e57243
jg 0x39703a
je 0x39701a
cmp eax, 0x34aece17
je 0x397004
cmp eax, 0x3697b389
jne 0x3968d4
call fcn.00399860
test eax, eax
je 0x396dd2
mov eax, 0x26a7c4f3
jmp 0x396610
lea ecx, [esp + 0x84]
call fcn.0039b1d0
mov eax, 0x37e57243
jmp 0x396610
lea edx, [esp + 0x34]
lea ecx, [esp + 0x64]
call fcn.00397410
neg eax
sbb eax, eax
and eax, 0xe99b2c40
add eax, 0x1b363693
jmp 0x396610
cmp eax, 0x39301ec9
jne 0x3968d4
mov eax, dword [0x39e54c]
mov eax, dword [eax + 0x46c]
mov dword [esp + 0x8c], eax
mov eax, 0x22e7b396
jmp 0x396610
call fcn.00398d40
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00398740
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret