Function at 0x52a09b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov dword [ebp - 0x7c], ecx
cmp dword [0x63a298], 1
jne 0x52a0b7
xor eax, eax
jmp 0x52aafe
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7c]
call dword [edx + 0x78]
test eax, eax
jne 0x52a0ef
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x24], 0x61a
je 0x52a0d9
xor eax, eax
jmp 0x52aafe
mov ecx, dword [0x6f0ab0]
cmp dword [ecx + 0x24], 0x7531
je 0x52a0ef
xor eax, eax
jmp 0x52aafe
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0x24], 0xffffffff
jne 0x52a102
mov eax, 1
jmp 0x52aafe
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x4c], 1
jne 0x52a115
mov eax, 1
jmp 0x52aafe
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7c]
call dword [edx + 0x4c]
test eax, eax
jne 0x52a12e
mov eax, 1
jmp 0x52aafe
mov eax, dword [0x6f0ab0]
mov dword [ebp - 0x5c], eax
push 0x44
push 0
lea ecx, [ebp - 0x48]
push ecx
call fcn.005c5b80
add esp, 0xc
cmp dword [0x636e4c], 0
je 0x52a286
cmp dword [0x636e4c], 3
je 0x52a286
cmp dword [0x636e4c], 4
je 0x52a286
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [edx + 0x28]
push ecx
lea edx, [ebp - 0x6c]
push edx
mov ecx, dword [ebp - 0x5c]
call fcn.004a2f46
fld dword [ebp - 0x6c]
fmul dword [0x5f4508]
mov eax, dword [0x636e48]
fld dword [eax + 0x560]
fmul dword [0x5f4508]
faddp st(1)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x68]
fmul dword [0x5f4508]
mov ecx, dword [0x636e48]
fld dword [ecx + 0x564]
fmul dword [0x5f4508]
faddp st(1)
fstp dword [ebp - 0x68]
fld dword [ebp - 0x64]
fmul dword [0x5f4508]
mov edx, dword [0x636e48]
fld dword [edx + 0x568]
fmul dword [0x5f4508]
faddp st(1)
fstp dword [ebp - 0x64]
mov dword [ebp - 0x60], 0x3f800000
mov dword [ebp - 0x1c], 0x3f800000
mov dword [ebp - 0xc], 0x3f800000
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0x3f800000
mov dword [ebp - 0x24], 0x3f800000
mov dword [ebp - 0x20], 0x3f800000
mov ecx, dword [0x636e48]
fld dword [ecx + 0x570]
fmul dword [0x5f46cc]
fld dword [ebp - 0x6c]
fmul dword [0x5f51c8]
faddp st(1)
fstp dword [ebp - 0x18]
mov edx, dword [0x636e48]
fld dword [edx + 0x574]
fmul dword [0x5f46cc]
fld dword [ebp - 0x6c]
fmul dword [0x5f51c8]
faddp st(1)
fstp dword [ebp - 0x14]
mov eax, dword [0x636e48]
fld dword [eax + 0x578]
fmul dword [0x5f46cc]
fld dword [ebp - 0x6c]
fmul dword [0x5f51c8]
faddp st(1)
fstp dword [ebp - 0x10]
jmp 0x52a2f5
mov dword [ebp - 0x58], 0x3f333333
mov dword [ebp - 0x54], 0x3f333333
mov dword [ebp - 0x50], 0x3f333333
mov dword [ebp - 0x4c], 0x3f800000
mov dword [ebp - 0x18], 0x3e99999a
mov dword [ebp - 0x14], 0x3e99999a
mov dword [ebp - 0x10], 0x3e99999a
mov dword [ebp - 0xc], 0x3f800000
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 8], 0
mov eax, dword [0x636e48]
mov ecx, dword [eax + 0x1360]
push ecx
push 0x1c
mov ecx, dword [0x636e48]
call fcn.00432dc9
mov dword [ebp - 4], 0
mov edx, dword [0x6f0ab0]
cmp dword [edx + 0x24], 0x7530
jne 0x52a4ab
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xe4], 1
je 0x52a478
mov ecx, dword [ebp - 0x7c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1f
jne 0x52a367
mov edx, dword [ebp - 0x7c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1f
jne 0x52a367
mov dword [ebp - 0x80], 1
jmp 0x52a36e
mov dword [ebp - 0x80], 0
cmp dword [ebp - 0x80], 1
je 0x52a478
xor eax, eax
test eax, eax
jne 0x52a460
mov ecx, dword [ebp - 0x7c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jle 0x52a3c7
mov edx, dword [ebp - 0x7c]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x14
jge 0x52a3c7
mov eax, dword [ebp - 0x7c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1d
jle 0x52a3c7
mov dword [ebp - 0x84], 1
jmp 0x52a3d1
mov dword [ebp - 0x84], 0
cmp dword [ebp - 0x84], 1
je 0x52a460
xor ecx, ecx
test ecx, ecx
jne 0x52a448
mov edx, dword [ebp - 0x7c]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0xd
je 0x52a40a
mov eax, dword [ebp - 0x7c]
fld dword [eax + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0xe
jne 0x52a429
mov ecx, dword [ebp - 0x7c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1c
jne 0x52a429
mov dword [ebp - 0x88], 1
jmp 0x52a433
mov dword [ebp - 0x88], 0
cmp dword [ebp - 0x88], 1
je 0x52a448
mov dword [ebp - 0x8c], 0
jmp 0x52a452
mov dword [ebp - 0x8c], 1
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], edx
jmp 0x52a46a
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
jmp 0x52a482
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x94], 0
je 0x52a4ab
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7c]
call dword [edx + 0x7c]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x52a4ab
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 4]
mov dword [eax + 0xe0], ecx
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0xe0], 0
je 0x52a68a
cmp dword [ebp - 4], 0
je 0x52a500
mov eax, dword [ebp - 0x7c]
fld dword [eax + 0xdc]
fcomp dword [0x5f5298]
fnstsw ax
test ah, 0x41
jne 0x52a4f1
mov ecx, dword [ebp - 0x7c]
fld dword [ecx + 0xdc]
fsub dword [str._n_33]
mov edx, dword [ebp - 0x7c]
fstp dword [edx + 0xdc]
jmp 0x52a4fe
mov eax, dword [ebp - 0x7c]
mov dword [eax + 0xdc], 0x3f333333
jmp 0x52a54a
mov ecx, dword [ebp - 0x7c]
fld dword [ecx + 0xdc]
fcomp dword [str.33s_]
fnstsw ax
test ah, 1
je 0x52a530
mov edx, dword [ebp - 0x7c]
fld dword [edx + 0xdc]
fadd dword [0x5f5430]
mov eax, dword [ebp - 0x7c]
fstp dword [eax + 0xdc]
jmp 0x52a54a
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + 0xdc], 0x3f800000
mov edx, dword [ebp - 0x7c]
mov dword [edx + 0xe0], 0
mov dword [ebp - 0x50], 0x3f333333
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0xdc]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x636e48]
cmp dword [edx + 0xc0], 1
jne 0x52a5c6
mov eax, dword [0x636e48]
cmp dword [eax + 0xb0], 0x20
jne 0x52a5b2
push 0xff000000
push 0x18
mov ecx, dword [0x636e48]
call fcn.00432dc9
jmp 0x52a5c4
push 0xf000
push 0x18
mov ecx, dword [0x636e48]
call fcn.00432dc9
jmp 0x52a5f8
mov ecx, dword [0x636e48]
cmp dword [ecx + 0xb0], 0x20
jne 0x52a5e9
push 0xdd
push 0x18
mov ecx, dword [0x636e48]
call fcn.00432dc9
jmp 0x52a5f8
push 0xd
push 0x18
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 1
push 0x1b
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 5
push 0x13
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 6
push 0x14
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 7
push 0x19
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 4
push 4
push 0
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 2
push 5
push 0
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 0
push 6
push 0
mov ecx, dword [0x636e48]
call fcn.00432eb0
cmp dword [ebp - 4], 2
jne 0x52a688
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0xe4], 0
jne 0x52a688
push 3
push 0x16
mov ecx, dword [0x636e48]
call fcn.00432dc9
jmp 0x52a697
mov eax, dword [ebp - 0x7c]
mov dword [eax + 0xdc], 0x3f800000
mov ecx, dword [0x636e48]
cmp dword [ecx + 0x354], 1
jne 0x52a801
lea edx, [ebp - 0x48]
push edx
mov eax, dword [0x636e48]
mov ecx, dword [eax + 0x10c]
mov edx, dword [0x636e48]
mov eax, dword [edx + 0x10c]
mov edx, dword [eax]
push ecx
call dword [edx + 0xc4]
mov eax, dword [0x277c024]
mov ecx, dword [eax + 0x218d4]
mov edx, dword [0x277c024]
mov eax, dword [edx + 0x218d4]
mov edx, dword [eax]
call dword [edx + 0x4c]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x52a751
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x7c]
fld dword [eax + 0x28]
fcomp dword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x52a751
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x7c]
fld dword [edx + 0x2c]
fcomp dword [eax + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x52a751
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 0x24], 0xfb
jb 0x52a731
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0x24], 0xfe
jbe 0x52a751
push 1
push 0x1b
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 9
push 0x14
mov ecx, dword [0x636e48]
call fcn.00432dc9
jmp 0x52a762
push 4
push 1
push 0
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 0
push 1
mov ecx, dword [0x636e48]
call fcn.00432d69
push 1
push 1
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 0x2bf20
push 0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x24]
push ecx
mov ecx, dword [0x6dd990]
call fcn.004b7900
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x52a7ab
xor eax, eax
jmp 0x52aafe
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0x34]
push eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x74]
call dword [edx + 8]
push 1
push 1
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 1
push 0xb
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
jmp 0x52aaf9
push 0x2bf20
push 0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x24]
push ecx
mov ecx, dword [0x6dd990]
call fcn.004b7900
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x52a82a
xor eax, eax
jmp 0x52aafe
push 1
push 0xe
mov ecx, dword [0x636e48]
call fcn.00432dc9
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0xe0], 0
jne 0x52a854
push 0
push 0x1b
mov ecx, dword [0x636e48]
call fcn.00432dc9
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x298]
imul ecx, ecx, 0x108
mov edx, dword [0x9a21b8]
movsx eax, byte [edx + ecx + 0x436e7]
cmp eax, 0x4e
jne 0x52a8b3
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 0x24], 0x9c
jb 0x52a88e
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0x24], 0xb9
jbe 0x52a8b3
push 0
push 1
mov ecx, dword [0x636e48]
call fcn.00432d69
push 1
push 1
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
jmp 0x52a965
mov eax, dword [0x636e48]
cmp dword [eax + 0xb0], 0x20
jne 0x52a8d5
push 0xaa
push 0x18
mov ecx, dword [0x636e48]
call fcn.00432dc9
jmp 0x52a8e7
push 0xff
push 0x18
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 1
push 0xf
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 1
push 0x1b
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 5
push 0x13
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 6
push 0x14
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 7
push 0x19
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 4
push 1
push 0
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 1
push 1
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 1
push 0xb
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [0x636e48]
mov eax, dword [edx + 0x10c]
mov ecx, dword [0x636e48]
mov edx, dword [ecx + 0x10c]
mov ecx, dword [edx]
push eax
call dword [ecx + 0xc4]
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0x24], 0x78e
je 0x52a9ae
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x24], 0x7b8
je 0x52a9ae
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 0x24], 0x7b9
jne 0x52aa12
push 0xb
push 1
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 0x1388
mov edx, dword [0x6f0ab0]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 0xe8]
push ecx
mov ecx, dword [0x9a21b8]
call fcn.004bf513
push eax
push 1
mov ecx, dword [0x636e48]
call fcn.00432d69
push 2
push 0x18
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 0x30000
push 0xb
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0x34]
push eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x78]
call dword [edx + 8]
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x24], 0x78e
je 0x52aa65
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 0x24], 0x7b8
je 0x52aa65
mov edx, dword [ebp - 0x7c]
cmp dword [edx + 0x24], 0x7b9
jne 0x52aa76
push 0
push 0x18
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xe0], 0
je 0x52aad7
push 0
push 0x1b
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 6
push 0x14
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 2
push 4
push 0
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 2
push 4
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
cmp dword [ebp - 4], 2
jne 0x52aad7
push 2
push 0x16
mov ecx, dword [0x636e48]
call fcn.00432dc9
push 1
push 1
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
push 1
push 0xb
push 1
mov ecx, dword [0x636e48]
call fcn.00432eb0
mov eax, 1
mov esp, ebp
pop ebp
ret