Function at 0x100354ff
Capabilities:
Check for software breakpoints
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x1006adcf
call fcn.10069db0
sub esp, 0x9f4
push ebx
mov ebx, dword [0x106172a0]
xor eax, eax
mov dword [ebp - 0x44], eax
push esi
mov byte [ebp - 0x35], al
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x60], dl
mov dword [ebp - 0x12c], ecx
cmp byte [ebp - 0x35], al
je 0x1003554a
push 0x2668
push 0xc56
push 0xa04
push 0x4af
push eax
call ebx
xor eax, eax
mov esi, dword [0x10617274]
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10035562
push 0x10d2
call esi
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10035587
push 0x2668
push 0xc56
push 0xa04
push 0x4af
push eax
call ebx
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10035599
push 0x10d2
call esi
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x28], eax
je 0x100355ee
mov dword [ebp - 0x40], 0xa42b4837
xor edx, edx
imul ecx, dword [ebp - 0x40], 0x952e
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor eax, eax
test edx, edx
setle al
sub eax, 0xbb67
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x100356a6
push eax
push eax
call dword [0x1061718c]
jmp 0x100356a4
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x3c], 0x61b1
cmp dword [ebp - 0x3c], 0x63d1
jle 0x10035689
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x1c], esi
mov edi, esi
mov dword [ebp - 0x14], 0x159e
mov dword [ebp - 0x28], edi
mov eax, edi
mov dword [ebp - 0x30], 0x76a0
mov dword [ebp - 0x2c], eax
mov esi, eax
mov edi, 0x4fb8
mov eax, esi
lea ecx, [ebp - 0x860]
cdq
push edx
push eax
call fcn.1000d1b0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035649
mov eax, dword [eax]
push eax
call fcn.10054ad6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x860]
call fcn.10033783
dec esi
dec edi
jne 0x1003562f
mov eax, dword [ebp - 0x2c]
dec eax
dec dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
jne 0x10035628
mov edi, dword [ebp - 0x28]
dec edi
dec dword [ebp - 0x14]
mov dword [ebp - 0x28], edi
jne 0x1003561c
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0xe15
jl 0x10035610
inc dword [ebp - 0x48]
cmp dword [ebp - 0x3c], 0x5e15
jge 0x100356a0
push 0x1000a024
call fcn.10054ad6
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
push 2
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x5e0]
pop esi
mov dword [ebp - 0x1c], 0x5a136951
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], 0x779a7b44
push esi
call fcn.100333f7
mov dword [ebp - 4], esi
mov dword [ebp - 0x2c], 0xcb2
cmp dword [ebp - 0x2c], 0xfc6
jle 0x1003572f
xor esi, esi
xor edi, edi
xor ebx, ebx
mov eax, esi
lea ecx, [ebp - 0x968]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000d1b0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035705
mov eax, dword [eax]
push eax
call fcn.10054ad6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x968]
call fcn.10033783
inc edi
cmp edi, 0x59a8
jl 0x100356e6
inc esi
cmp esi, 0x3157
jl 0x100356e2
push 2
pop esi
cmp dword [ebp - 0x2c], 0xbc5
jge 0x10035743
push 0x1000a050
call fcn.10054ad6
pop ecx
mov dword [ebp - 0x18], 0
jmp 0x1003575f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5e0]
mov dword [eax + ecx*4], 0x20f2d627
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003574c
mov dword [ebp - 0x18], 0
jmp 0x1003577e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6d0], 0x869b7d6b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003576d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xbf0ddd9c
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax, 0xffff
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edi, edi
mov dword [ebp - 0x2c], ecx
inc edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x5e0]
mov dword [eax], edi
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x6cc], eax
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x100357f2
push 0x348
push eax
push 0x791
push 0x1eac
push 0x1096
call dword [0x10617090]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5e0]
call fcn.10033479
xor ebx, ebx
lea ecx, [ebp - 0x61c]
push 3
mov byte [ebp - 0x35], bl
pop ebx
push ebx
call fcn.100333f7
push edi
lea ecx, [ebp - 0x6e8]
mov dword [ebp - 4], 5
call fcn.100333f7
mov dword [ebp - 0x44], 0x1914cc5c
mov dword [ebp - 0x24], 0
jmp 0x1003584b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x61c]
mov dword [eax + ecx*4], 0x7ddc85f7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10035838
push 4
mov dword [ebp - 0x24], 0
pop ecx
jmp 0x1003586d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x9f0], 0xfffffffa
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1003585c
mov dword [ebp - 0x24], 0
cmp dword [ebp - 0x24], edi
jge 0x10035894
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6e8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10035880
mov dword [ebp - 0x24], 0
jmp 0x100358ae
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x6ac], 8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1003589d
mov eax, dword [ebp - 0x61c]
lea ecx, [ebp - 0x6e8]
xor ebx, ebx
mov dword [eax + 8], ebx
call fcn.10033479
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x61c]
call fcn.10033479
cmp byte [ebp - 0x35], bl
je 0x10035b03
mov dword [ebp - 0x4c], 0x2b7b
cmp dword [ebp - 0x4c], 0x2e4e
jle 0x10035969
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0x4724
mov edi, dword [ebp - 0x28]
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x914]
cdq
push edx
push eax
call fcn.1000d1b0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035921
mov eax, dword [eax]
push eax
call fcn.10054ad6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x914]
call fcn.10033783
inc esi
cmp esi, 0x68e2
jl 0x10035903
mov edi, dword [ebp - 0x30]
add dword [ebp - 0x28], edi
dec dword [ebp - 0x2c]
jne 0x100358fe
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x7a72
jl 0x100358f4
push ebx
push 0x24fc
push ebx
call dword [0x10617030]
xor edi, edi
push 2
inc edi
pop esi
mov dword [ebp - 0x40], 0x8c176b0f
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x44], 0x1f94964a
or eax, 0xffffffff
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 0x4822b16
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], 0x7b4bc66
mov dword [ebp - 0x3c], 0x7bededb5
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], eax
push edi
call fcn.100333f7
mov dword [ebp - 0x18], ebx
or edx, 0xffffffff
cmp dword [ebp - 0x18], edi
jge 0x100359c8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc8], edx
inc dword [ebp - 0x18]
jmp 0x100359b4
mov dword [ebp - 0x18], ebx
jmp 0x100359dc
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x29c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100359cd
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xc8], 0xfff9
sbb eax, eax
neg eax
cmp eax, 3
jne 0x10035a0d
mov ecx, ebx
cmp dword [ebp - 0x14], ebx
je 0x10035a0f
mov ecx, edi
mov eax, dword [ebp - 0x29c]
add ecx, ecx
cmp ecx, dword [eax]
jg 0x10035a22
mov ecx, edi
cmp dword [ebp - 0x48], ebx
jne 0x10035a24
mov ecx, ebx
mov eax, dword [ebp - 0x29c]
neg ecx
cmp ecx, dword [eax]
jge 0x10035a37
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x10035a39
mov eax, edi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
dec eax
je 0x10035a59
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x2c], eax
jg 0x10035a8c
mov dword [ebp - 0x40], 0x2b293353
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x2c], edx
xor edx, edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setg dl
mov dword [ebp - 0x2c], edx
jmp 0x10035ac5
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], 0x1a
jge 0x10035ac5
push 4
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x10035aae
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7f8], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035a9d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x7ec], eax
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0x1a
jl 0x10035a98
lea ecx, [ebp - 0x29c]
call fcn.10033479
cmp dword [ebp - 0x4c], 0x27f0
jge 0x10035ae4
push 0x1000a0a0
call fcn.10054ad6
pop ecx
or dword [ebp - 4], 0xffffffff
push 0x2668
push 0xc56
push 0xa04
push 0x4af
push ebx
call dword [0x106172a0]
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10035bf8
mov dword [ebp - 0x18], 0x9ef72d4e
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], ebx
jmp 0x10035b30
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x108], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035b23
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x10035bf0
mov dword [ebp - 0x14], 0x81dda8db
mov dword [ebp - 0x40], 0xa781b5f7
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x108], ebx
je 0x10035b5e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x108]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jle 0x10035b86
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x108]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x108]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x108]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setl dl
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], bl
je 0x10035bc7
push ebx
push 0x25eb
call dword [0x10617268]
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], bl
je 0x10035bd5
call dword [0x106171b8]
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x18]
jns 0x10035b41
or ecx, 0xffffffff
cmp dword [ebp - 0x28], ebx
jne 0x10035c02
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe4
jg 0x10035b11
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], ebx
jmp 0x10035c30
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1f8], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035c23
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], bl
je 0x10035c4a
push 0x212f
push ebx
push ebx
call dword [0x106171cc]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1f8]
cmp ecx, eax
push 3
setg dl
pop eax
cmp eax, edx
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], bl
je 0x10035ca7
push 0x10d2
call dword [0x10617274]
push edi
lea ecx, [ebp - 0x700]
call fcn.100333f7
push edi
lea ecx, [ebp - 0x418]
mov dword [ebp - 4], 8
call fcn.100333f7
mov dword [ebp - 0x14], 0x7f737a9a
mov dword [ebp - 0x18], ebx
jmp 0x10035ce5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x700]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035cd2
mov dword [ebp - 0x18], ebx
jmp 0x10035d02
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x418]
mov dword [eax + ecx*4], 0xc405b401
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035cef
mov eax, dword [ebp - 0x418]
dec dword [eax]
mov dword [ebp - 0x14], ebx
jmp 0x10035d56
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x10035d28
push 0x3bb
call dword [0x1061708c]
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x10035d53
push ebx
push 0x1b14
push ebx
push ebx
push 0x82a
push 0x1838
push 0x11e3
push 0x5bf
call dword [0x10617088]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
jle 0x10035d14
lea ecx, [ebp - 0x418]
call fcn.10033479
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x700]
call fcn.10033479
push edi
lea ecx, [ebp - 0x718]
call fcn.100333f7
push edi
lea ecx, [ebp - 0x52c]
mov dword [ebp - 4], 9
call fcn.100333f7
mov dword [ebp - 0x14], 0x7f737a9a
mov dword [ebp - 0x18], ebx
jmp 0x10035db4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x718]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035da1
mov dword [ebp - 0x18], ebx
jmp 0x10035dd1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x52c]
mov dword [eax + ecx*4], 0xc405b401
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035dbe
mov eax, dword [ebp - 0x52c]
dec dword [eax]
mov dword [ebp - 0x14], ebx
jmp 0x10035e25
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x10035df7
push 0x3bb
call dword [0x1061708c]
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x10035e22
push ebx
push 0x1b14
push ebx
push ebx
push 0x82a
push 0x1838
push 0x11e3
push 0x5bf
call dword [0x10617088]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
jle 0x10035de3
lea ecx, [ebp - 0x52c]
call fcn.10033479
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x718]
call fcn.10033479
push esi
lea ecx, [ebp - 0x430]
call fcn.100333f7
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x44], 0x5251c607
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x2c], 0x1cec
cmp dword [ebp - 0x2c], 0x1faf
jle 0x10035ea1
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x10614338
cdq
push edx
push eax
call fcn.100332e2
inc edi
cmp edi, 0x4dd9
jl 0x10035e76
inc esi
cmp esi, 0x36e5
jl 0x10035e74
xor edi, edi
push 2
inc edi
pop esi
mov dword [ebp - 0x14], ebx
jmp 0x10035eb9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x430]
mov dword [eax + ecx*4], 0x13dd33a4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035ea6
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x2c], 0x19de
jge 0x10035efe
mov edx, 0x1000a0e0
mov ecx, 0x10614338
call fcn.10034d8c
jmp 0x10035efe
mov eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x430]
or dword [ebp - 4], 0xffffffff
mov dword [eax + 4], ebx
call fcn.10033479
push esi
lea ecx, [ebp - 0x538]
call fcn.100333f7
mov dword [ebp - 0x44], 0x5251c607
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], ebx
jmp 0x10035f44
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x538]
mov dword [eax + ecx*4], 0x13dd33a4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10035f31
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x538]
mov dword [eax + 4], ebx
call fcn.10033479
push 4
lea ecx, [ebp - 0x180]
call fcn.100333f7
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x4c], 0x5252cb13
push 4
mov dword [ebp - 0x1c], 0xe3c23917
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x10035f9a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x180]
mov dword [eax + ecx*4], 0x3342
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10035f87
mov dword [ebp - 0x18], ebx
jmp 0x10035fb5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], 0xfe96f77d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035fa4
push 3
pop eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], ebx
jl 0x100361f0
mov esi, dword [ebp - 0x180]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], 0x5f27a412
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0xe7aebb1b
mov dword [ebp - 0x14], ebx
jmp 0x10035ff6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10035fe8
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x5c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setne al
imul eax, eax, 0x2010
test eax, eax
je 0x10036030
mov eax, dword [ebp - 0x180]
cmp dword [eax + 0xc], ebx
mov eax, edi
jne 0x10036032
mov eax, ebx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
je 0x1003603c
mov ebx, edi
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x5c]
sbb ecx, ecx
add ecx, 0xffffd972
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
setne bl
neg ecx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setg dl
xor ecx, ecx
cmp eax, ebx
setle cl
xor ebx, ebx
sub edx, ecx
inc edx
je 0x10036088
mov eax, edi
cmp dword [ebp - 0x28], ebx
jne 0x1003608a
mov eax, ebx
cmp eax, dword [ebp - 0x5c]
je 0x10036096
mov edx, ebx
cmp dword [ebp - 0x5c], ebx
je 0x10036098
mov edx, edi
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
neg edx
sbb edx, edx
xor eax, eax
add edx, 0xa
cmp edx, dword [esi + 4]
setle al
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 8
ja 0x100360ea
mov edx, ebx
cmp dword [ebp - 0xbc], ebx
je 0x100360ec
mov edx, edi
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x180]
push 3
setle cl
xor edx, edx
cmp ecx, dword [eax]
setg dl
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0xbc]
imul eax, edx
mov dword [ebp - 0x1c], eax
pop eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jl 0x100361e4
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jg 0x100361d8
push 2
pop esi
push esi
lea ecx, [ebp - 0x448]
call fcn.100333f7
mov dword [ebp - 0x14], ebx
jmp 0x1003615a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x448]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003614b
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x448]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x180]
mov ebx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], eax
cmp dword [esi + 4], 0xd45c
mov eax, dword [ebp - 0x2c]
setg dl
neg eax
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x180]
setl cl
xor edx, edx
cmp dword [eax + edi*4], ecx
lea ecx, [ebp - 0x448]
sete dl
add edx, dword [eax + ebx*4]
cmp edx, 0xffffffff
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
call fcn.10033479
inc dword [ebp - 0x18]
push 3
pop eax
push 0
pop ebx
push 1
pop edi
cmp dword [ebp - 0x18], eax
jle 0x10036137
dec dword [ebp - 0x1c]
jns 0x10036121
mov esi, dword [ebp - 0x30]
dec dword [ebp - 0x4c]
jns 0x10035fd2
push 2
pop esi
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1003620a
push ebx
push 0x263
push 0x1056
call dword [0x10617078]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x180]
call fcn.10033479
push esi
lea ecx, [ebp - 0x214]
call fcn.100333f7
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x14], 0x2eb9
cmp dword [ebp - 0x14], 0x30f4
jle 0x100362d6
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
cdq
mov edi, ebx
idiv ecx
mov dword [ebp - 0x2c], edi
mov eax, edx
mov dword [ebp - 0x40], eax
cdq
mov esi, ebx
idiv edi
mov edi, edx
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x9c8]
cdq
push edx
push eax
call fcn.1000d1b0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003627f
mov eax, dword [eax]
push eax
call fcn.10054ad6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x9c8]
call fcn.10033783
inc esi
cmp esi, 0x7d2c
jl 0x10036261
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x1ff0
jl 0x1003625a
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x3896
jl 0x1003624d
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x7f37
jl 0x10036248
xor edi, edi
push 2
inc edi
pop esi
cmp dword [ebp - 0x14], 0x2ca0
jge 0x100362ea
push 0x1000a150
call fcn.10054ad6
pop ecx
push 3
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10036303
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6b8], 0xa8c6a53d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100362f2
mov dword [ebp - 0x18], ebx
jmp 0x10036320
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x214]
mov dword [eax + ecx*4], 0x16df251d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003630d
mov eax, dword [ebp - 0x214]
mov dword [eax], ebx
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x1003635b
mov eax, dword [ebp - 0x214]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x6b8], 0xfffffff9
mov dword [ebp - 0x40], 0xfffffff9
dec dword [ebp - 0x18]
jns 0x1003633c
mov dword [ebp - 0x18], ebx
jmp 0x1003637e
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1003637b
push ebx
push ebx
push 0xe53
push 0x269a
call dword [0x106172c8]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10036360
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x1003639a
mov dword [ebp - 0x6b8], 0x1078932
dec dword [ebp - 0x18]
jns 0x1003638b
mov eax, dword [ebp - 0x214]
inc dword [eax]
cmp dword [eax], esi
jle 0x1003632d
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x100363bb
push 0x13ba
push ebx
call dword [0x1061726c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x214]
call fcn.10033479
mov dword [ebp - 0x4c], 0x743d
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x40], 6
push 4
call fcn.100333f7
push 4
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10036400
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100363ed
cmp dword [ebp - 0x4c], ebx
jne 0x10036426
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x7b6fe6d3
jne 0x1003641f
mov eax, dword [ebp - 0x4c]
mov eax, ebx
cmp dword [ebp - 0x4c], edi
jg 0x10036428
mov eax, edi
cmp eax, 6
sbb eax, eax
inc eax
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], ebx
jmp 0x10036484
mov dword [ebp - 0x1c], 0xffffffff
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x32c]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x4c]
neg edx
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x1c], ebx
jmp 0x1003647b
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x10036478
push 0x1fae
push ebx
push ebx
call dword [0x10617048]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe3
jg 0x10036462
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jle 0x10036439
lea ecx, [ebp - 0x32c]
call fcn.10033479
push edi
lea ecx, [ebp - 0x66c]
call fcn.100333f7
push edi
lea ecx, [ebp - 0x610]
mov dword [ebp - 4], 0x11
call fcn.100333f7
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x34], 0x7f737a9a
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], 0xbb7a1405
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x100364de
push ebx
push 0x26f8
call dword [0x106172cc]
mov dword [ebp - 0x18], ebx
jmp 0x100365ab
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xa
jne 0x100365a8
push esi
lea ecx, [ebp - 0x2b4]
call fcn.100333f7
mov dword [ebp - 0x14], ebx
jmp 0x1003651a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2b4]
mov dword [eax + ecx*4], 0x82bdb979
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10036507
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
jne 0x10036549
mov eax, dword [ebp - 0x18]
xor edx, edx
mov esi, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x18]
cmp dword [esi + 4], edi
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, ebx
setne cl
sub ecx, dword [esi + 4]
je 0x1003654b
mov eax, edi
cmp eax, dword [ebp - 0x18]
jl 0x10036555
cmp dword [ebp - 0x18], ebx
je 0x10036561
mov eax, dword [ebp - 0x2b4]
cmp dword [eax], ebx
mov eax, edi
jne 0x10036563
mov eax, ebx
xor edx, edx
cmp eax, 0x79cc099a
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1003658d
push ebx
push ebx
push ebx
call dword [0x10617220]
lea ecx, [ebp - 0x2b4]
call fcn.10033479
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xa
push 2
pop esi
je 0x100364f6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 8
jl 0x100364e6
mov dword [ebp - 0x18], ebx
jmp 0x100365cd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x66c]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100365ba
mov dword [ebp - 0x18], ebx
jmp 0x100365ea
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x610]
mov dword [eax + ecx*4], 0xc405b401
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100365d7
mov eax, dword [ebp - 0x610]
dec dword [eax]
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], 0x1d
jg 0x1003700a
mov dword [ebp - 0x48], 0x7a00f47a
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x44], 0x73d5943e
mov dword [ebp - 0x1c], 0x7d7c869b
mov dword [ebp - 0x18], 0x261718bc
mov dword [ebp - 0x44], 0x6702e633
push edi
call fcn.100333f7
push esi
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x13
call fcn.100333f7
push 3
lea ecx, [ebp - 0x5b0]
mov byte [ebp - 4], 0x14
call fcn.100333f7
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x24], ebx
jmp 0x1003666a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf0], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1003665d
mov dword [ebp - 0x24], ebx
jmp 0x10036683
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x460]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10036674
mov dword [ebp - 0x24], ebx
jmp 0x100366a0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x374]
mov dword [eax + ecx*4], 0x5c6a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1003668d
push 3
mov dword [ebp - 0x24], ebx
pop edx
jmp 0x100366c0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5b0]
mov dword [eax + ecx*4], 0x5d5fca44
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x100366ad
cmp dword [ebp - 0x48], ebx
jne 0x100366df
lea ecx, [ebp - 0x610]
call fcn.10033479
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x66c]
call fcn.10033479
push 4
mov dword [ebp - 0x3d0], 0xf825e7a6
lea ecx, [ebp - 0x568]
pop esi
mov dword [ebp - 0x3cc], 0xf825e7a6
mov dword [ebp - 0x3c8], 0xf825e7a6
mov dword [ebp - 0x3c4], 0xf825e7a6
push esi
call fcn.100333f7
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x1c], 0x32ad
cmp dword [ebp - 0x1c], 0x33a8
jle 0x100370ca
mov dword [ebp - 0x30], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], 0x414d
mov dword [ebp - 0x14], ecx
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
xor eax, ecx
mov ecx, 0x10614338
cdq
push edx
push eax
call fcn.100332e2
mov ecx, dword [ebp - 0x14]
inc esi
cmp esi, 0x1568
jl 0x10037085
inc edi
cmp edi, 0x78b2
jl 0x10037083
mov eax, dword [ebp - 0x30]
add ecx, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
jne 0x10037081
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x476d
jl 0x10037075
xor edi, edi
push 4
inc edi
pop esi
mov dword [ebp - 0x28], 0xa445a8cc
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x1c], 0x3074
jge 0x10037111
mov edx, 0x1000a270
mov ecx, 0x10614338
call fcn.10034d8c
jmp 0x10037111
push 2
mov dword [ebp - 4], 0x1b
pop edx
mov dword [ebp - 0x14], ebx
jmp 0x10037133
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x568]
mov dword [eax + ecx*4], 0xdce9d05b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10037120
mov esi, dword [ebp - 0x568]
mov dword [esi + 0xc], ebx
jmp 0x10037146
push 2
pop edx
mov dword [ebp - 0x3c], 0x82ff40fc
mov dword [ebp - 0x2c], 0x85fcb444
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 3
jg 0x100372a7
jmp 0x10037166
mov dword [ebp - 0x48], 0x66e58d02
lea ecx, [ebp - 0x344]
push edx
call fcn.100333f7
push 2
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10037198
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x344]
mov dword [eax + ecx*4], 0xc44d4e2b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10037185
mov dword [ebp - 0x48], ebx
jmp 0x1003726e
inc dword [esi + 0xc]
cmp dword [esi + 0xc], 3
jle 0x10037143
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x568]
call fcn.10033479
push 4
pop esi
push esi
lea ecx, [ebp - 0x150]
call fcn.100333f7
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x4c], 0x5252cb13
mov dword [ebp - 0x1c], 0xe3c23917
mov dword [ebp - 0x18], ebx
jmp 0x100372ff
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0x3342
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100372ec
mov dword [ebp - 0x18], ebx
jmp 0x1003731a
cmp dword [ebp - 0x18], edi
jl 0x10037309