Function at 0x596284
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x67b6d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x2d8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x174], 0
push 0x6eb884
lea ecx, [ebp - 0x180]
call fcn.0065aa4a
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x234], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x234]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x6eb88c
lea ecx, [ebp - 0x184]
call fcn.0065aa4a
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x22c]
add edx, 0xbf4
push edx
lea eax, [ebp - 0x188]
push eax
call fcn.0065aeac
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x244], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x244]
push edx
lea eax, [ebp - 0x18c]
push eax
call fcn.0065aa08
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
mov dword [ebp - 0x24c], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x24c]
push edx
lea eax, [ebp - 0x168]
push eax
call fcn.0065aeac
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x18c]
call fcn.0065a9ea
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x188]
call fcn.0065a9ea
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x184]
call fcn.0065a9ea
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x180]
call fcn.0065a9ea
push 0x6eb894
lea ecx, [ebp - 0x190]
call fcn.0065aa4a
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x254], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x254]
push edx
mov eax, dword [ebp + 8]
push eax
push 0x6eb89c
lea ecx, [ebp - 0x194]
call fcn.0065aa4a
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x25c], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x25c]
push edx
mov eax, dword [ebp - 0x22c]
add eax, 0xbf4
push eax
lea ecx, [ebp - 0x198]
push ecx
call fcn.0065aeac
mov dword [ebp - 0x260], eax
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x264], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x264]
push eax
lea ecx, [ebp - 0x19c]
push ecx
call fcn.0065aa08
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x26c], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x12c]
push ecx
call fcn.0065aeac
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x19c]
call fcn.0065a9ea
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x198]
call fcn.0065a9ea
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x194]
call fcn.0065a9ea
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x190]
call fcn.0065a9ea
lea ecx, [ebp - 0x128]
call fcn.00420f60
lea edx, [ebp - 0x128]
push edx
lea ecx, [ebp - 0x168]
call fcn.00403190
push eax
call fcn.0065af9c
test eax, eax
je 0x596526
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00403190
push eax
call fcn.0065af9c
test eax, eax
jne 0x596559
mov byte [ebp - 0x1a0], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.0065a9ea
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0065a9ea
mov al, byte [ebp - 0x1a0]
jmp 0x596efa
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x168]
call fcn.00403190
push eax
call fcn.004a270c
add esp, 4
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0
jne 0x5965f6
push 0x10f0
call fcn.0065aa38
add esp, 4
mov dword [ebp - 0x1a4], eax
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x1a4], 0
je 0x5965c1
push 0
lea ecx, [ebp - 0x168]
call fcn.00403190
push eax
mov ecx, dword [ebp - 0x1a4]
call fcn.004a2a52
mov dword [ebp - 0x270], eax
jmp 0x5965cb
mov dword [ebp - 0x270], 0
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x1a8], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x17c], 1
call fcn.004a2a2b
lea ecx, [ebp - 0x12c]
call fcn.00403190
push eax
call fcn.004a270c
add esp, 4
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
jne 0x59668f
push 0x10f0
call fcn.0065aa38
add esp, 4
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x1ac], 0
je 0x59665a
push 0
lea ecx, [ebp - 0x12c]
call fcn.00403190
push eax
mov ecx, dword [ebp - 0x1ac]
call fcn.004a2a52
mov dword [ebp - 0x274], eax
jmp 0x596664
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x174], 1
call fcn.004a2a2b
jmp 0x596771
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x168]
call fcn.00403190
push eax
mov ecx, dword [ebp - 0x178]
call fcn.004a29b6
lea ecx, [ebp - 0x12c]
call fcn.00403190
push eax
mov ecx, dword [ebp - 0x164]
call fcn.004a29b6
push 1
push 0
mov ecx, dword [ebp - 0x22c]
call fcn.0046221d
mov ecx, dword [ebp - 0x178]
call fcn.005195d5
push eax
lea ecx, [ebp - 0x130]
call fcn.0065aa4a
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x17c], 0
je 0x596822
cmp dword [ebp - 0x178], 0
je 0x596822
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1c8], ecx
cmp dword [ebp - 0x1c8], 0
je 0x596818
push 1
mov ecx, dword [ebp - 0x1c8]
call fcn.00403120
mov dword [ebp - 0x280], eax
jmp 0x596822
mov dword [ebp - 0x280], 0
lea ecx, [ebp - 0x130]
call fcn.0040df80
test eax, eax
je 0x5968c9
cmp dword [ebp - 0x174], 0
je 0x596887
cmp dword [ebp - 0x164], 0
je 0x596887
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x59687d
push 1
mov ecx, dword [ebp - 0x1d0]
call fcn.00403120
mov dword [ebp - 0x284], eax
jmp 0x596887
mov dword [ebp - 0x284], 0
mov byte [ebp - 0x1d8], 3
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x130]
call fcn.0065a9ea
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.0065a9ea
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0065a9ea
mov al, byte [ebp - 0x1d8]
jmp 0x596efa
lea ecx, [ebp - 0x144]
call fcn.0065a9f6
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x144]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x1dc], esp
lea edx, [ebp - 0x130]
push edx
call fcn.0065aa3e
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x22c]
call fcn.00597bb4
test eax, eax
jne 0x5969be
push 0
push 0
push 0x6eb8a4
call fcn.0065aa32
cmp dword [ebp - 0x174], 0
je 0x59696d
cmp dword [ebp - 0x164], 0
je 0x59696d
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], ecx
cmp dword [ebp - 0x1e0], 0
je 0x596963
push 1
mov ecx, dword [ebp - 0x1e0]
call fcn.00403120
mov dword [ebp - 0x28c], eax
jmp 0x59696d
mov dword [ebp - 0x28c], 0
mov byte [ebp - 0x1e8], 0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x144]
call fcn.0065a9f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x130]
call fcn.0065a9ea
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.0065a9ea
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0065a9ea
mov al, byte [ebp - 0x1e8]
jmp 0x596efa
mov edx, dword [ebp - 0x22c]
mov ecx, dword [edx + 0xc]
call fcn.004ff485
lea ecx, [ebp - 0x160]
call fcn.0065aba6
mov byte [ebp - 4], 0x18
push 0x6eb8b4
lea ecx, [ebp - 0x1ec]
call fcn.0065aa4a
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x294]
push ecx
mov edx, dword [ebp - 0x22c]
add edx, 0xbf4
push edx
lea eax, [ebp - 0x16c]
push eax
call fcn.0065aeac
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1ec]
call fcn.0065a9ea
lea ecx, [ebp - 0x16c]
call fcn.00403190
push eax
call dword [0x705ae8]
push str.round
lea ecx, [ebp - 0x1f0]
call fcn.0065aa4a
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x29c], ecx
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x29c]
push edx
mov eax, dword [ebp - 0x22c]
add eax, 0xbf4
push eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.0065aeac
mov dword [ebp - 0x2a0], eax
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a4], edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x2a4]
push eax
mov ecx, dword [ebp - 0x22c]
add ecx, 0xbd0
call fcn.0065aa2c
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1f4]
call fcn.0065a9ea
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1f0]
call fcn.0065a9ea
push 0
mov ecx, dword [ebp - 0x22c]
add ecx, 0xbd0
call fcn.00403190
push eax
lea ecx, [ebp - 0x160]
call fcn.0065aba0
test eax, eax
jne 0x596b10
push 0
mov ecx, dword [ebp - 0x22c]
add ecx, 0xbd0
call fcn.00403190
push eax
call dword [0x705b04]
push str.recheck
lea ecx, [ebp - 0x1f8]
call fcn.0065aa4a
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], ecx
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x2ac]
push edx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.0065aa4a
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b4], ecx
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x2b4]
push edx
push 0x6eb8cc
lea ecx, [ebp - 0x200]
call fcn.0065aa4a
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2bc], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x22c]
add edx, 0xbd0
push edx
lea eax, [ebp - 0x204]
push eax
call fcn.0065aeac
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x2c4], ecx
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x2c4]
push edx
lea eax, [ebp - 0x208]
push eax
call fcn.0065aeac
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x2cc]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.0065aeac
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], ecx
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x2d4]
push edx
mov ecx, dword [ebp - 0x22c]
add ecx, 0xbd0
call fcn.0065aa2c
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x20c]
call fcn.0065a9ea
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x208]
call fcn.0065a9ea
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x204]
call fcn.0065a9ea
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x200]
call fcn.0065a9ea
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1fc]
call fcn.0065a9ea
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1f8]
call fcn.0065a9ea
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x164]
mov dword [eax + 4], ecx
push 0x6eb8d0
lea ecx, [ebp - 0x210]
call fcn.0065aa4a
mov dword [ebp - 0x2d8], eax
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2dc], edx
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x2dc]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x214]
push edx
call fcn.0065afde
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2e4], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x2e4]
push ecx
mov ecx, dword [ebp - 0x22c]
add ecx, 0xb88
call fcn.0065aa2c
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x214]
call fcn.0065a9ea
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x210]
call fcn.0065a9ea
lea edx, [ebp - 0x144]
push edx
mov ecx, dword [ebp - 0x22c]
call fcn.005940d7
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax + 0xc]
call fcn.004ff485
cmp dword [ebp - 0x174], 0
je 0x596d99
cmp dword [ebp - 0x164], 0
je 0x596d99
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
cmp dword [ebp - 0x218], 0
je 0x596d8f
push 1
mov ecx, dword [ebp - 0x218]
call fcn.00403120
mov dword [ebp - 0x2e8], eax
jmp 0x596d99
mov dword [ebp - 0x2e8], 0
cmp dword [ebp - 0x170], 0
je 0x596e90
mov eax, dword [ebp - 0x22c]
cmp dword [eax + 0xbd8], 0
je 0x596e24
mov byte [ebp - 0x220], 1
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x16c]
call fcn.0065a9ea
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x160]
call fcn.0065ab8e
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x144]
call fcn.0065a9f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x130]
call fcn.0065a9ea
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.0065a9ea
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0065a9ea
mov al, byte [ebp - 0x220]
jmp 0x596efa
mov byte [ebp - 0x224], 2
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x16c]
call fcn.0065a9ea
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x160]
call fcn.0065ab8e
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x144]
call fcn.0065a9f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x130]
call fcn.0065a9ea
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.0065a9ea
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0065a9ea
mov al, byte [ebp - 0x224]
jmp 0x596efa
mov byte [ebp - 0x228], 0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x16c]
call fcn.0065a9ea
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x160]
call fcn.0065ab8e
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x144]
call fcn.0065a9f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x130]
call fcn.0065a9ea
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x12c]
call fcn.0065a9ea
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0065a9ea
mov al, byte [ebp - 0x228]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4