Function at 0x6037c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov al, 0x11
mov cl, 0x2f
mov byte [ebp - 0x2a], al
mov byte [ebp - 6], al
mov al, 0x13
mov byte [ebp - 0x2b], cl
mov byte [ebp - 8], cl
mov cl, 0x22
mov byte [ebp - 0x2f], al
mov byte [ebp - 0x22], al
mov eax, dword [0x91cfa8]
mov byte [ebp - 0x31], cl
mov byte [ebp - 0x21], cl
cmp byte [eax + 0x64], 5
push ebx
mov bl, 0x23
mov dl, 0x27
mov byte [ebp - 1], 0
mov byte [ebp - 0x2c], 0x2b
mov byte [ebp - 0x29], 0x62
mov byte [ebp - 0x28], 0x53
mov byte [ebp - 0x27], 0x30
mov byte [ebp - 7], 0x30
mov byte [ebp - 0xc], 0xb
mov byte [ebp - 0xb], 7
mov byte [ebp - 0xa], 0x1b
mov byte [ebp - 0x34], 0x33
mov byte [ebp - 0x33], bl
mov byte [ebp - 0x32], dl
mov byte [ebp - 0x30], 0x1c
mov byte [ebp - 0x2e], 0x15
mov byte [ebp - 0x2d], 0xa
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x23], 0x33
mov byte [ebp - 0x20], bl
mov byte [ebp - 0x14], 0x32
mov byte [ebp - 0x13], 0x18
mov byte [ebp - 0x12], 0xf
mov byte [ebp - 0x10], 0x2a
mov byte [ebp - 0xf], 0x31
mov byte [ebp - 0xe], 9
jne 0x603859
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x91cfa4]
cmp dword [ecx], 0
push esi
mov esi, dword [ebp + 8]
push edi
jne 0x603898
movzx eax, byte [esi + 0xd8]
mov edx, eax
imul eax, eax, 0x2970
mov eax, dword [eax + 0xed5a7c]
xor edx, 1
imul edx, edx, 0x2970
cmp eax, dword [edx + 0xed5a7c]
jle 0x603898
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov dl, byte [esi + 0xd9]
xor ecx, ecx
test dl, dl
sete cl
lea ecx, [ecx + ecx - 1]
shl ecx, 0xc
mov dword [ebp - 0x18], ecx
fild dword [ebp - 0x18]
mov ecx, dword [esi + 0x2cc]
fsubr dword [esi + 0x2c4]
fst dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fstp dword [esi + 0x168]
fld dword [esi + 0x2cc]
fst dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
fstp dword [esi + 0x16c]
push edx
mov edx, dword [esi + 0x2c4]
push eax
push ecx
push edx
call fcn.006442f0
mov word [esi + 0xf0], ax
push eax
xor eax, eax
mov ax, word [esi + 0xea]
push eax
call fcn.006442d0
mov ebx, dword [0x91d3f0]
add esp, 0x18
cmp word [ebx + 0x8c], 4
movzx edi, ax
jne 0x603950
cmp dword [esi + 0xe0], 0x800
jl 0x603950
xor ecx, ecx
mov cx, word [esi + 0xea]
xor edx, edx
mov dx, word [esi + 0xec]
push ecx
push edx
call fcn.006442a0
mov ebx, dword [0x91d3f0]
add esp, 8
cmp ax, 0x10
ja 0x603950
mov byte [ebp - 1], 1
fld dword [ebx + 0x434]
push 0
fcomp dword [0x879dc4]
fld dword [ebx + 0xb34]
fnstsw ax
test ah, 0x41
jne 0x603972
push 0x3480
jmp 0x603977
push 0xffffcb80
call fcn.0043bd30
fld dword [ebx + 0x434]
push eax
call fcn.0043bd30
push eax
call fcn.00644320
mov dword [ebp - 0x18], eax
mov eax, dword [0xeebb30]
add esp, 0x10
cmp eax, 4
je 0x603a3c
cmp eax, 9
je 0x603a3c
cmp byte [ebp - 1], 1
push 0x3e8
jne 0x6039e6
call fcn.0042d710
movzx eax, ax
cdq
mov ecx, 3
idiv ecx
mov bl, byte [ebp + edx - 8]
movzx edx, bl
push edx
push edi
call fcn.005e11c0
add esp, 0xc
test eax, eax
jne 0x603c4f
mov bl, 0x30
jmp 0x603c4f
mov dword [esi + 0xe0], 0
call fcn.0042d710
movzx eax, ax
cdq
mov ecx, 5
idiv ecx
add esp, 4
mov bl, byte [ebp + edx - 0x24]
call fcn.006013f0
test eax, eax
je 0x603a20
push 5
call fcn.0063c860
add esp, 4
test eax, eax
jne 0x603a20
mov bl, 0x32
movzx edx, bl
push edx
push edi
call fcn.005e11c0
add esp, 8
test eax, eax
jne 0x603c4f
mov bl, 0x33
jmp 0x603c4f
cmp byte [ebp - 1], 1
jne 0x603b4f
call fcn.006013f0
test eax, eax
je 0x603b1a
movzx eax, byte [esi + 0xd8]
mov ecx, eax
imul eax, eax, 0x2970
mov edx, dword [eax + 0xed5a7c]
xor ecx, 1
imul ecx, ecx, 0x2970
cmp edx, dword [ecx + 0xed5a7c]
jg 0x603b1a
call fcn.006013f0
test eax, eax
je 0x603aac
movzx eax, byte [esi + 0xd8]
mov ecx, eax
imul eax, eax, 0x2970
mov edx, dword [eax + 0xed5a7c]
xor ecx, 1
imul ecx, ecx, 0x2970
cmp edx, dword [ecx + 0xed5a7c]
jle 0x603ae5
mov eax, dword [0x91cfa8]
cmp byte [eax + 0x71], 1
jb 0x603c4c
movzx eax, byte [esi + 0xd8]
mov ecx, eax
imul eax, eax, 0x2970
mov edx, dword [eax + 0xed5a7c]
xor ecx, 1
imul ecx, ecx, 0x2970
cmp edx, dword [ecx + 0xed5a7c]
jge 0x603c4c
push 0x3e8
call fcn.0042d710
movzx eax, ax
cdq
mov ecx, 3
idiv ecx
mov bl, byte [ebp + edx - 0xc]
movzx edx, bl
push edx
push edi
call fcn.005e11c0
add esp, 0xc
test eax, eax
jne 0x603c4f
mov bl, 0xb
jmp 0x603c4f
push 0x3e8
call fcn.0042d710
movzx eax, ax
cdq
mov ecx, 6
idiv ecx
mov bl, byte [ebp + edx - 0x2c]
movzx edx, bl
push edx
push edi
call fcn.005e11c0
add esp, 0xc
test eax, eax
jne 0x603c4f
mov bl, 0x2b
jmp 0x603c4f
mov dword [esi + 0xe0], 0
call fcn.006013f0
test eax, eax
je 0x603c1a
push 2
call fcn.0063c860
add esp, 4
test eax, eax
jne 0x603bc6
mov eax, dword [0x91cfa8]
cmp byte [eax + 0x71], 1
jb 0x603bc6
movzx eax, byte [esi + 0xd8]
mov ecx, eax
imul eax, eax, 0x2970
mov edx, dword [eax + 0xed5a7c]
xor ecx, 1
imul ecx, ecx, 0x2970
cmp edx, dword [ecx + 0xed5a7c]
jg 0x603bc6
push 0x3e8
call fcn.0042d710
movzx eax, ax
cdq
mov ecx, 3
add esp, 4
idiv ecx
mov bl, byte [ebp + edx - 0x10]
jmp 0x603c4f
movzx eax, byte [esi + 0xd8]
mov edx, eax
imul eax, eax, 0x2970
mov eax, dword [eax + 0xed5a7c]
xor edx, 1
imul edx, edx, 0x2970
cmp eax, dword [edx + 0xed5a7c]
jg 0x603c1a
push 0x3e8
call fcn.0042d710
movzx eax, ax
cdq
mov ecx, 3
idiv ecx
mov bl, byte [ebp + edx - 0x14]
movzx edx, bl
push edx
push edi
call fcn.005e11c0
add esp, 0xc
test eax, eax
jne 0x603c4f
mov bl, 0x18
jmp 0x603c4f
push 0x3e8
call fcn.0042d710
movzx eax, ax
and eax, 0x80000007
jns 0x603c33
dec eax
or eax, 0xfffffff8
inc eax
mov bl, byte [ebp + eax - 0x34]
movzx ecx, bl
push ecx
push edi
call fcn.005e11c0
add esp, 0xc
test eax, eax
jne 0x603c4f
mov bl, 0x33
jmp 0x603c4f
mov bl, byte [ebp - 1]
movzx edx, bl
push 1
push edx
push esi
call fcn.005e13d0
add esp, 0xc
cmp bl, 0x1c
jne 0x603c79
push 3
call fcn.0042d710
add esp, 4
test ax, ax
jne 0x603c79
mov byte [esi + 0x117], 0xf0
xor edi, edi
mov byte [esi + 0xda], 0x47
mov word [esi + 0xdc], di
cmp dword [0xeebb30], 1
je 0x604286
call fcn.00616d20
cmp al, 0x28
jb 0x603ca3
cmp al, 0x2d
jbe 0x603cbb
cmp al, 0x4b
jb 0x603cab
cmp al, 0x5a
jbe 0x603cbb
cmp al, 0x5f
jb 0x603cb3
cmp al, 0x69
jbe 0x603cbb
cmp al, 0x6e
jb 0x603ce5
cmp al, 0x78
ja 0x603ce5
movzx eax, byte [esi + 0xd8]
mov ecx, eax
imul eax, eax, 0x2970
mov edx, dword [eax + 0xed5a7c]
xor ecx, 1
imul ecx, ecx, 0x2970
cmp edx, dword [ecx + 0xed5a7c]
jg 0x604286
mov eax, dword [0x91d3f0]
mov ecx, dword [eax + 0xb34]
mov edx, dword [eax + 0x434]
xor eax, eax
mov al, byte [esi + 0xd9]
push edi
push ecx
push edx
push eax
call fcn.0065a460
movzx eax, byte [esi + 0xd9]
mov edx, dword [0x91cfa4]
mov cl, byte [edx + eax*2 + 0x20]
mov bl, byte [esi]
add esp, 0x10
cmp cl, bl
je 0x603d25
mov al, cl
jmp 0x603d29
mov al, byte [edx + eax*2 + 0x21]
cmp al, 0xff
je 0x603d3a
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x603d3f
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
mov ebx, edx
push ebx
call fcn.00645a20
add esp, 4
test eax, eax
je 0x60388f
xor edx, edx
mov dx, word [ebx + 0xec]
xor eax, eax
mov ax, word [ebx + 0xea]
push edx
push eax
call fcn.006442a0
add esp, 8
cmp ax, 0x10
jae 0x604286
mov eax, dword [0x91d3f0]
mov ecx, dword [eax + 0xb34]
mov edx, dword [eax + 0x434]
mov eax, dword [ebx + 0x2cc]
push ecx
mov ecx, dword [ebx + 0x2c4]
push edx
push eax
push ecx
call fcn.006442f0
xor edx, edx
mov dx, word [ebx + 0xea]
push eax
push edx
call fcn.006442a0
add esp, 0x18
cmp ax, 0x40
jae 0x604286
mov al, byte [ebx + 0xda]
cmp al, 0xfd
jne 0x603df1
cmp word [ebx + 0xdc], 0xa
je 0x60388f
cmp al, al
jne 0x603df1
cmp word [ebx + 0xdc], 0xb
je 0x60388f
mov dl, byte [ebx + 0xd9]
xor eax, eax
test dl, dl
sete al
lea eax, [eax + eax - 1]
shl eax, 0xc
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
mov eax, dword [ebx + 0x2cc]
fsubr dword [ebx + 0x2c4]
fst dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
fstp dword [ebx + 0x168]
fld dword [ebx + 0x2cc]
fst dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
fstp dword [ebx + 0x16c]
push ecx
mov ecx, dword [ebx + 0x2c4]
push edx
push eax
push ecx
call fcn.006442f0
xor edx, edx
mov dx, word [ebx + 0xea]
mov word [ebx + 0xf0], ax
push eax
push edx
call fcn.006442d0
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0xe0]
add esp, 0x18
cmp eax, 0x800
jle 0x6040bf
push 0x64
call fcn.0063c860
add esp, 4
cmp eax, 0x32
jge 0x603e95
push 4
call fcn.0063c860
movzx edi, byte [ebp + eax - 0x2c]
jmp 0x604238
mov ecx, dword [ebx + 0x2cc]
mov edx, dword [ebx + 0x2c4]
xor eax, eax
mov al, byte [ebx + 0xd9]
xor al, 1
push edi
push ecx
push edx
push eax
call fcn.0065a460
movzx ecx, byte [esi + 0xd9]
mov edx, dword [0x91cfa4]
xor ecx, 1
mov al, byte [edx + ecx*2 + 0x20]
add esp, 0x10
cmp al, 0xff
je 0x603edc
movzx eax, al
cdq
mov edi, 0x17
idiv edi
jmp 0x603ee1
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
mov edi, edx
mov al, byte [edi + 0xd6]
test al, al
jne 0x603f27
mov eax, dword [0x91cfa4]
mov cl, byte [eax + ecx*2 + 0x21]
cmp cl, 0xff
je 0x603f14
movzx eax, cl
cdq
mov ecx, 0x17
idiv ecx
jmp 0x603f19
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
mov edi, edx
fld dword [edi + 0x2cc]
call fcn.0043bd30
fld dword [edi + 0x2c4]
push eax
call fcn.0043bd30
fld dword [ebx + 0x2cc]
push eax
call fcn.0043bd30
fld dword [ebx + 0x2c4]
push eax
call fcn.0043bd30
push eax
call fcn.00644320
add esp, 0x10
cmp eax, 0x190000
jb 0x60402b
fld dword [esi + 0x2c4]
call fcn.0043bd30
test eax, eax
jg 0x603f7b
neg eax
fld dword [ebx + 0x2c4]
mov edi, eax
call fcn.0043bd30
test eax, eax
jg 0x603f8e
neg eax
cmp edi, eax
jge 0x60402b
fld dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x603fa7
neg eax
fld dword [ebx + 0x2cc]
mov edi, eax
call fcn.0043bd30
test eax, eax
jg 0x603fba
neg eax
cmp edi, eax
jle 0x60402b
push ebx
call fcn.006a43e0
add esp, 4
test al, al
jne 0x60402b
mov edx, dword [esi + 0x2cc]
mov eax, dword [esi + 0x2c4]
mov ecx, dword [ebx + 0x2cc]
push edx
mov edx, dword [ebx + 0x2c4]
push eax
push ecx
push edx
call fcn.006442f0
mov word [ebx + 0xf0], ax
xor eax, eax
mov ax, word [esi + 0xf0]
xor ecx, ecx
mov cx, word [esi + 0xea]
push eax
push ecx
call fcn.006442d0
movzx eax, ax
push 2
push eax
call fcn.005e11c0
add esp, 0x20
test eax, eax
je 0x604247
push 1
push 2
jmp 0x60426d
mov eax, dword [0x91d3f0]
mov edx, dword [eax + 0xb34]
mov eax, dword [eax + 0x434]
xor ecx, ecx
mov cl, byte [esi + 0xd9]
xor cl, 1
push 0
push edx
push eax
push ecx
call fcn.0065a460
movzx edx, byte [esi + 0xd9]
mov eax, dword [0x91cfa4]
xor edx, 1
mov al, byte [eax + edx*2 + 0x20]
add esp, 0x10
cmp al, 0xff
je 0x60407a
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
mov edi, edx
jmp 0x60407f
mov edi, 1
mov edx, dword [ebp - 0x1c]
push 0x4e
push edx
call fcn.005e11c0
add esp, 8
test eax, eax
je 0x604247
cmp dword [ebp - 0x18], 0x310000
jg 0x604247
mov al, byte [esi]
imul edi, edi, 0x4c0
cmp al, byte [edi + 0xd92230]
je 0x604247
push 1
push 0x4e
jmp 0x60426d
cmp eax, 0x200
jle 0x6040cf
push 1
push 0x20
jmp 0x60426d
mov ecx, dword [ebx + 0x2cc]
mov edx, dword [ebx + 0x2c4]
xor eax, eax
mov al, byte [ebx + 0xd9]
xor al, 1
push edi
push ecx
push edx
mov dword [ebx + 0xe0], edi
push eax
call fcn.0065a460
movzx ecx, byte [esi + 0xd9]
mov edx, dword [0x91cfa4]
xor ecx, 1
mov al, byte [edx + ecx*2 + 0x20]
add esp, 0x10
cmp al, 0xff
je 0x60411c
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x604121
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
mov edi, edx
fld dword [edi + 0x2cc]
call fcn.0043bd30
fld dword [edi + 0x2c4]
push eax
call fcn.0043bd30
fld dword [ebx + 0x2cc]
push eax
call fcn.0043bd30
fld dword [ebx + 0x2c4]
push eax
call fcn.0043bd30
push eax
call fcn.00644320
add esp, 0x10
cmp eax, 0x40000
jb 0x60422c
fld dword [esi + 0x2c4]
call fcn.0043bd30
test eax, eax
jg 0x604183
neg eax
fld dword [ebx + 0x2c4]
mov edi, eax
call fcn.0043bd30
test eax, eax
jg 0x604196
neg eax
cmp edi, eax
jge 0x60422c
fld dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x6041af
neg eax
fld dword [ebx + 0x2cc]
mov edi, eax
call fcn.0043bd30
test eax, eax
jg 0x6041c2
neg eax
cmp edi, eax
jle 0x60422c
push ebx
call fcn.006a43e0
add esp, 4
test al, al
jne 0x60422c
mov edx, dword [esi + 0x2cc]
mov eax, dword [esi + 0x2c4]
mov ecx, dword [ebx + 0x2cc]
push edx
mov edx, dword [ebx + 0x2c4]
push eax
push ecx
push edx
call fcn.006442f0
mov word [ebx + 0xf0], ax
xor eax, eax
mov ax, word [esi + 0xf0]
xor ecx, ecx
mov cx, word [esi + 0xea]
push eax
push ecx
call fcn.006442d0
movzx eax, ax
push 1
push eax
call fcn.005e11c0
add esp, 0x20
test eax, eax
je 0x604247
push 1
push 1
jmp 0x60426d
push 6
call fcn.0063c860
movzx edi, byte [ebp + eax - 0x34]
movzx ecx, byte [ebx]
add esp, 4
call fcn.006015e0
test eax, eax
jle 0x60426a
xor eax, eax
pop edi
mov word [esi + 0x102], ax
mov word [esi + 0xdc], ax
mov byte [esi + 0xda], 0xfd
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push 1
push edi
push ebx
call fcn.005e13d0
add esp, 0xc
mov byte [ebx + 0xda], 0x47
mov word [ebx + 0xdc], 0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret