Function at 0x1003c558
Capabilities:
Encrypt data using speck

Disassembly:
mov eax, 0x10062110
call fcn.10060598
sub esp, 0x550
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x20], 0x99841b3c
push 2
call fcn.1000457d
xor ebx, ebx
lea ecx, [ebp - 0x428]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x30], 0xb430688c
push 1
call fcn.1000457d
push ebx
push 1
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 1
push eax
push 0x3226
push 0x4c57
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x30], 0x563ade45
push 0x7576
mov dword [ebp - 0x30], ebx
mov edx, 0x68c1
mov dword [ebp - 0x2c], 6
xor cl, cl
push eax
call fcn.1003aab9
add esp, 0x1c
lea eax, [ebp - 0x1a4]
mov edx, 0x5403
xor cl, cl
push 1
push 1
push 0xb7d
push eax
lea eax, [ebp - 0x428]
push eax
push 0x677b
push 0x3ed5
call fcn.1003aab9
add esp, 0x1c
mov dword [ebp - 0x20], 0x1b
cmp dword [ebp - 0x20], 0x18
push 3
pop edi
jl 0x1003c814
mov esi, 0xc7e43439
mov dword [ebp - 0x28], 0x102d149f
lea ecx, [ebp - 0x36c]
push 1
call fcn.1000457d
push 0x50af
push ebx
lea eax, [ebp - 0x36c]
mov byte [ebp - 4], 2
push eax
push 0x50b
push 0x7f2b
push ebx
mov dl, 1
lea ecx, [ebp - 0x8c]
call fcn.1003a72c
add esp, 0x18
mov dword [ebp - 0x8c], ebx
jmp 0x1003c687
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0xfc], 0xa6ff609d
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 1
jl 0x1003c670
mov dword [ebp - 0x28], 0xffffffe9
jmp 0x1003c7ee
push 2
mov dword [ebp - 0x24], 0x21fbb9c
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x1003c6bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x188], 0xc520ea0c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003c6ab
mov dword [ebp - 0x1c], ebx
jmp 0x1003c6d7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3a8], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003c6c6
cmp dword [ebp - 0x28], ebx
je 0x1003c7c4
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x18], ebx
jmp 0x1003c6fe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x49c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003c6f1
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1003c760
push 0x2c75
push 0x3c88
push 0x6490
push 1
push 0x25fa
push 0x2027
push 0x69d4
push 0x8a0
push 0x6043
push 0x7dca
push 0x5f96
push 0x39fd
push 1
push 0x49be
xor dl, dl
mov ecx, 0x5e9f
call fcn.1003b99d
add esp, 0x38
dec dword [ebp - 0x18]
jns 0x1003c70c
mov eax, dword [ebp - 0x36c]
xor ecx, ecx
mov dword [eax], 0x2fdad5a5
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x184]
cmp eax, 0xfd06
setl cl
cmp esi, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x2fdad5a5
setg cl
mov dword [ebp - 0xfc], ecx
test ecx, ecx
jne 0x1003c7a5
cmp dword [ebp - 0x20], ebx
jne 0x1003c7a5
mov ecx, ebx
jmp 0x1003c7a8
xor ecx, ecx
inc ecx
mov dword [ebp - 0x3a8], ecx
mov eax, dword [ebp - 0x490]
sub eax, ecx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
neg ecx
jmp 0x1003c7e3
mov eax, dword [ebp - 0x1e8]
cmp dword [eax], ebx
je 0x1003c7e1
mov eax, dword [ebp - 0xfc]
cmp dword [ebp - 0x184], ebx
je 0x1003c7e1
xor ecx, ecx
inc ecx
jmp 0x1003c7e3
mov ecx, ebx
mov eax, dword [ebp - 0x1e8]
mov dword [eax], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1d
jl 0x1003c69c
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 1
call fcn.10004600
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x18
jge 0x1003c628
inc dword [ebp - 0x2c]
lea ecx, [ebp - 0x428]
call fcn.10004600
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.10004600
mov dword [ebp - 0x90], 1
lea ecx, [ebp - 0x2bc]
push 4
call fcn.1000457d
mov dword [ebp - 4], edi
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x17c], 0xffffffff
mov dword [ebp - 0x16c], 0xfffffffb
mov dword [ebp - 0x174], 0xb4ff5102
mov dword [ebp - 0x18], ebx
jmp 0x1003c888
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2bc]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003c875
mov dword [ebp - 0x90], ebx
jmp 0x1003c993
mov dword [ebp - 0x7c], 0x17633efc
mov dword [ebp - 0xf8], 0x9ec13488
mov dword [ebp - 0x7c], ebx
jmp 0x1003c924
mov dword [ebp - 0xb8], 0xfffffff9
mov dword [ebp - 0xb8], edi
cmp dword [ebp - 0xb8], ebx
jl 0x1003c921
push ecx
push ecx
mov dword [ebp - 0x1fc], 0x255ebda1
mov dl, 1
mov ecx, 0x5bf
call fcn.1003945a
lea eax, [ebp - 0xf8]
mov edx, 0x629a
push eax
lea eax, [ebp - 0x74]
push eax
push 1
push 0x4502
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x2bc]
push eax
push 1
lea eax, [ebp - 0x1fc]
push ebx
push eax
lea ecx, [ebp - 0xb8]
call fcn.1003b805
add esp, 0x2c
dec dword [ebp - 0xb8]
jns 0x1003c8c7
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], edi
jle 0x1003c8af
mov dword [ebp - 0x74], ebx
jmp 0x1003c988
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x2ac], 9
push eax
lea eax, [ebp - 0x2ac]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x174]
push eax
push ecx
lea eax, [ebp - 0x74]
push eax
push 0x6bbf
push 1
lea eax, [ebp - 0x17c]
push eax
push 0x575b
push ecx
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x2bc]
call fcn.1003726b
add esp, 0x30
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], edi
jle 0x1003c92e
dec dword [ebp - 0x90]
cmp dword [ebp - 0x90], 0xffffffee
jne 0x1003c899
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2bc]
call fcn.10004600
mov eax, dword [0x1007e7a4]
test al, 1
jne 0x1003c9ec
or eax, 1
mov dword [0x1007e7a4], eax
mov dword [ebp - 4], 4
mov dword [0x1007e7c4], ebx
mov dword [0x1007e7c8], ebx
call fcn.1003f9fb
push 0x10062565
mov dword [0x1007e7c4], eax
call fcn.10049b79
or dword [ebp - 4], 0xffffffff
pop ecx
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0xc0], 0xc3203bd6
mov dword [ebp - 0x28], 0x108531d1
mov dword [ebp - 0x30], 0x86565ea
mov dword [ebp - 0x30], 0xb5dae8c
mov dword [ebp - 0x18], ebx
jmp 0x1003ca24
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x280], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003ca17
mov dword [ebp - 0x20], 0x3bff
cmp dword [ebp - 0x20], 0x3d7e
jle 0x1003ca7d
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov ebx, esi
mov esi, 0x51f3
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x1007c0d8
cdq
push edx
push eax
call fcn.100042cb
dec ebx
dec esi
jne 0x1003ca48
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x5c58
jl 0x1003ca41
inc edi
push 0
pop ebx
cmp edi, 0x746d
jl 0x1003ca3c
push 3
pop edi
cmp dword [ebp - 0x1c], ebx
jne 0x1003ca88
mov eax, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x598a
je 0x1003cb92
push dword [ebp - 0xe8]
movdqa xmm0, xmmword [0x1006f060]
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x454]
mov dword [ebp - 0x1f8], ebx
push eax
push ebx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x1f4], ebx
movdqu xmmword [ebp - 0x454], xmm0
mov dword [ebp - 0x1f0], ebx
call fcn.10007275
mov dword [ebp - 4], 5
mov dword [ebp - 0x1c], ebx
jmp 0x1003cb80
push 0x547
push 0x5441
push ebx
push ecx
push 0xd1e
push 0x794
push ecx
push 0x720
push 0xa2d
push 0x6090
push ecx
push 0x2133
push 0x5946
push 0x710
mov edx, 0x32cb
lea ecx, [ebp - 0x1f8]
call fcn.1003ac0a
add esp, 0x38
mov byte [ebp - 0x81], bl
lea eax, [ebp - 0x81]
mov dl, 1
push eax
push ecx
push 0x4a0d
push ecx
push 0x1416
call fcn.10039519
add esp, 0x14
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1003cb11
lea ecx, [ebp - 0x1f8]
call fcn.10004600
jmp 0x1003cbea
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], 0xa8c98aac
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x24], 0x47c914a3
mov dword [ebp - 0x38], 0x3d975123
mov eax, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jle 0x1003cbdb
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x24]
neg eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x20], 0x39e2
jge 0x1003cc09
mov edx, str.wrmevibp_oqhsfq_glq_whcrhxh_lqsal_xtwkbcvv_kue_fqd
mov ecx, 0x1007c0d8
call fcn.10006d07
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x27c]
inc eax
je 0x1003cc51
mov edx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, 0xbb6f
setg dl
sub edx, 0xfffffff7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x28]
je 0x1003cc51
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc0]
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], 0xffffffff
push eax
push 0x1ed
push ecx
lea eax, [ebp - 0xc0]
xor cl, cl
push eax
call fcn.1003ab2e
add esp, 0x10
cmp byte [0x1007d264], 0
je 0x1003cefb
push dword [ebp - 0xe8]
mov dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0x148]
xor eax, eax
mov dword [ebp - 0x24], 0xba394643
inc eax
mov dword [ebp - 0x64], 0x59c17633
mov dword [ebp - 0x124], eax
xorps xmm0, xmm0
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x474]
mov dword [ebp - 0x38], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x474], xmm0
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x140], ebx
call fcn.10007275
push 4
lea ecx, [ebp - 0x208]
mov dword [ebp - 4], 0xc
call fcn.1000457d
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0xd
push eax
sub esp, 0xc
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x18], 0xa9fc5c2d
lea edx, [ebp - 0x42c]
mov dword [ebp - 0x1d8], 0xab9ca24
xor cl, cl
push 0x4e42
call fcn.1003b36e
add esp, 0x14
lea eax, [ebp - 0xc8]
mov edx, 0x4095
mov ecx, 0x3ca0
push 1
push 1
push eax
push ebx
push 0x1368
call fcn.10037c33
mov eax, dword [ebp - 0x2c]
add esp, 0x14
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x148]
mov esi, dword [ebp - 0x208]
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, dword [esi + 0xc]
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x208]
setl dl
xor ecx, ecx
add edx, 0xfff8
cmp edx, dword [eax]
mov eax, dword [ebp - 0x40]
setg cl
xor edx, edx
cmp ecx, dword [esi + 0xc]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc8]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfff9
add eax, edx
cmp eax, dword [ebp - 0x64]
jl 0x1003ce33
mov dword [ebp - 0x64], ebx
jmp 0x1003ce28
push ebx
lea eax, [ebp - 0x64]
mov edx, 0xa58
push eax
push 0x47c1
push 1
lea eax, [ebp - 0x148]
mov cl, 1
push eax
push 0x4795
push 0x1772
call fcn.100398a6
add esp, 0x1c
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 4
jl 0x1003cdf9
jmp 0x1003cee0
push 1
push ecx
lea eax, [ebp - 0x64]
mov dword [ebp - 0x4c], 2
push eax
push ecx
mov dword [ebp - 0x3d0], 0xffffffff
lea edx, [ebp - 0x124]
push 0x18d5
lea ecx, [ebp - 0x4c]
call fcn.10039581
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
add esp, 0x14
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x4c]
cmp dword [edx + 8], eax
setg cl
cmp ecx, 0x3e35f201
jl 0x1003cea2
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
add eax, 0xb348
cmp eax, dword [ebp - 0x2c]
jg 0x1003ceb2
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x124]
mov edx, 0x5aa5
mov eax, dword [ebp - 0x18]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1d8]
push eax
push 0x488
push ecx
push 0x3f46
xor cl, cl
call fcn.10039bc4
add esp, 0x14
lea ecx, [ebp - 0x208]
call fcn.10004600
lea ecx, [ebp - 0x148]
call fcn.10004600
jmp 0x1003f662
push 1
push 0x348c
push 0x1007d264
push ebx
push 0x594b
push 0x5cd3
push 0x7ff5
mov edx, 0x46a8
mov cl, 1
call fcn.100398a6
mov dword [ebp - 0x2b0], 0x76f5020f
add esp, 0x1c
mov dword [ebp - 0x18], ebx
jmp 0x1003cf46
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3ac], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003cf35
mov dword [ebp - 0x18], 0x767e
cmp dword [ebp - 0x18], 0x77e6
jle 0x1003cfcb
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov ecx, esi
mov dword [ebp - 0x40], eax
mov esi, eax
mov edi, ebx
shl esi, cl
mov eax, edi
lea ecx, [ebp - 0x4c4]
xor eax, esi
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003cf8d
mov eax, dword [eax]
push eax
call fcn.10049ba3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x4c4]
call fcn.10004a46
inc edi
cmp edi, 0x2ee1
jl 0x1003cf71
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x50b8
jl 0x1003cf66
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x1599
jl 0x1003cf61
push 3
pop edi
push 1
lea eax, [ebp - 0x2b0]
mov edx, 0x5938
push eax
push 0x590b
push ebx
push 0x4c68
push 0x3529
push 0x58f4
push 0x273
push 0x516b
push 0x4cf7
push 0x1e2f
xor cl, cl
call fcn.1003c006
add esp, 0x2c
cmp dword [ebp - 0x18], 0x757f
jge 0x1003d020
push str.kjvqpmep_npnvm_bmtjuo_bskhdm_yfghnjquh_qgro_rskx_bhjjlbz_ryuixbwg_exfxokfqh
call fcn.10049ba3
pop ecx
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1c8]
push eax
push ecx
push 0x35b1
mov dword [ebp - 0x110], str.R78c_r
lea eax, [ebp - 0x158]
mov dword [ebp - 0x21c], 0x51ad386c
lea edx, [ebp - 0x21c]
push 1
push ecx
mov dword [ebp - 0x1c8], 0xf5cd53bc
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0x160], 0xffffffff
push eax
call fcn.10039e26
mov byte [ebp - 0x80], bl
lea ecx, [ebp - 0x80]
push 1
call fcn.10039816
add esp, 0x1c
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0x1c], 0xfffffffe
lea ecx, [ebp - 0x384]
mov dword [ebp - 0x2c], 0xffffffff
push 0xfffffffffffffff8
pop esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x24], 0xcca69919
push 1
call fcn.1000457d
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x98], ebx
jmp 0x1003d0dd
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x3dc], 8
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], 2
jl 0x1003d0c6
push 1
push 0x1ee4
push 0x3f79
push 1
push 0x5810
lea eax, [ebp - 0x384]
mov edx, 0x44c2
push eax
lea eax, [ebp - 0x98]
mov cl, 1
push eax
call fcn.100398a6
mov eax, dword [ebp - 0x1c]
add esp, 0x1c
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub ecx, 0xc62b
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
sub edx, 0x92f1
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x40], edx
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
inc ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x3d8], ecx
mov dword [eax], ecx
mov dword [ebp - 0x2c], 0x448110cb
cmp dword [ebp - 0x2c], ebx
je 0x1003d190
mov edx, ecx
cmp dword [ebp - 0x24], ebx
jne 0x1003d192
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
dec edx
cmp eax, edx
setl cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x384]
call fcn.10004600
mov cl, byte [str.R78c_r]
push 0xc
pop eax
mov dword [ebp - 0x13c], eax
cmp cl, byte [eax + str.R78c_r]
je 0x1003d1e9
inc eax
mov dword [ebp - 0x13c], eax
cmp eax, 0xe0
jl 0x1003d1ce
jmp 0x1003d3d7
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x28], 0xffffffed
jmp 0x1003d220
push 1
push 1
lea eax, [ebp - 0x7e]
mov byte [ebp - 0x7e], bl
push eax
push 1
mov edx, 0x4776
mov ecx, 0x852
call fcn.100399bf
add esp, 0x10
cmp dword [ebp - 0x28], ebx
jne 0x1003d226
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffff
jne 0x1003d1f9
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x13c]
push eax
push ecx
push 1
push ecx
mov cl, 1
call fcn.10039add
add esp, 0x14
lea ecx, [ebp - 0x138]
push 4
call fcn.1000457d
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0xd0], 0x26fbc79a
mov dword [ebp - 0x12c], 0xffffffff
mov dword [ebp - 0x22c], 8
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x168], 0xf82eddaa
mov dword [ebp - 0x18], ebx
jmp 0x1003d2a3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0x4e2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003d290
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x44], edi
jg 0x1003d369
push 0x26d9
push 0x64ae
lea eax, [ebp - 0x44]
mov dword [ebp - 0xec], 0xbf390197
push eax
push ecx
lea eax, [ebp - 0x138]
mov cl, 1
push eax
lea edx, [ebp - 0xec]
call fcn.10039bc4
mov eax, dword [ebp - 0x138]
add esp, 0x14
push 0xfffffffffffffffa
pop ecx
sub ecx, dword [eax + 4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xec], ebx
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x138]
add eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0xec]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x138]
sbb edx, edx
neg edx
imul ecx, dword [eax + esi*4]
xor eax, eax
cmp ecx, edx
setne al
xor edx, edx
imul ecx, eax, 0xbc59
mov eax, dword [ebp - 0x138]
cmp ecx, dword [eax + edi*4]
setne dl
mov dword [ebp - 0x12c], edx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jle 0x1003d2b5
lea eax, [ebp - 0x44]
mov edx, 0x5872
push eax
push 0x48d3
push 0x3cf8
push 0xf42
lea eax, [ebp - 0x12c]
mov ecx, 0x13fb
push eax
lea eax, [ebp - 0xd0]
push eax
push 1
lea eax, [ebp - 0x2a4]
push eax
push 0x33fb
push 1
push 0x68e7
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x22c]
push eax
push 1
call fcn.10039c9c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
add esp, 0x3c
call fcn.10004600
push 4
pop edi
push ecx
mov dword [ebp - 0x30], edi
lea ecx, [ebp - 0x69]
mov byte [ebp - 0x69], bl
xor dl, dl
call fcn.1003b977
pop ecx
push ebx
sub esp, 0xc
mov byte [ebp - 0x6a], bl
mov edx, 0x6fdd
lea ecx, [ebp - 0x6a]
call fcn.1003a263
add esp, 0x10
mov dword [ebp - 0x1ac], edi
lea ecx, [ebp - 0x3e8]
push 2
call fcn.1000457d
push ecx
push 0x6d5f
push ecx
lea eax, [ebp - 0x3e8]
mov dword [ebp - 4], 0x12
push 0x1559
mov dword [ebp - 0x170], ebx
lea ecx, [ebp - 0x3b0]
push eax
mov dl, 1
call fcn.10039f85
add esp, 0x14
lea eax, [ebp - 0x170]
mov edx, 0x5a7e
push 0x7d9d
push ecx
push 0x65c8
push 0x7424
push 0x6817
push 1
push eax
call fcn.10039fff
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3e8]
add esp, 0x1c
call fcn.10004600
push 1
push ebx
push 0xbfa
push 0x24ee
push 0x777e
mov esi, 0x10078bd0
lea edx, [ebp - 0x6c]
mov dword [ebp - 0xc4], esi
mov cl, 1
push 0x1ef4
mov dword [ebp - 0x19c], 0x3342eb9
push 0x1852
mov byte [ebp - 0x6c], bl
call fcn.1003aab9
add esp, 0x1c
lea edx, [ebp - 0x19c]
mov ecx, 0x41bd
push 1
sub esp, 0xc
call fcn.1003a263
mov cl, byte [0x10078bd0]
add esp, 0x10
mov dl, byte [str.R78c_r]
mov byte [ebp - 0x45], cl
call fcn.1003fa26
mov byte [0x10078bd0], al
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, edi
jge 0x1003dad1
mov dword [ebp - 0xa0], 8
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x1a0], 0xa3191b49
push 1
call fcn.1000457d
push ecx
push 1
push ecx
push 0x787
push ecx
mov dword [ebp - 4], 0x13
lea edx, [ebp - 0x444]
mov dword [ebp - 0x178], 0x469209a4
lea ecx, [ebp - 0x3bc]
push 0x14fe
call fcn.10037d7f
add esp, 0x18
mov dword [ebp - 0xa0], ebx
jmp 0x1003d585
push 0x2843
push 0x3ae7
push 1
push 0x39a3
push 1
mov dl, 1
mov ecx, 0x3560
call fcn.1003a2de
add esp, 0x14
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 0xc
jg 0x1003d55d
lea eax, [ebp - 0x178]
push eax
push ecx
push 1
lea eax, [ebp - 0xa0]
push eax
push 0x3e48
push ecx
lea eax, [ebp - 0x1a0]
push eax
call fcn.1003a457
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x444]
add esp, 0x1c
call fcn.10004600
mov edi, dword [ebp - 0xc4]
mov esi, dword [ebp - 0x1c]
mov al, byte [esi + edi]
mov byte [ebp - 0x51], al
xor eax, eax
mov dword [ebp - 0x18], 0xb26bdde0
inc eax
mov dword [ebp - 0x30], 0x15de05da
mov dword [ebp - 0x30], 0x4307a329
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], ebx
jmp 0x1003d60c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x558], 0x585b7f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003d5fb
mov dword [ebp - 0x18], ebx
jmp 0x1003d6a9
push 3
pop eax
mov dword [ebp - 0x180], eax
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x30], ebx
push 2
call fcn.1000457d
lea eax, [ebp - 0x3fc]
mov dword [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x3cc]
mov dword [ebp - 0x30], 0xc7fffaa2
push eax
push ecx
push ecx
push 0x193b
mov dl, 1
call fcn.10039aa2
add esp, 0x10
lea eax, [ebp - 0x180]
lea edx, [ebp - 0x1a8]
push 0x5122
push ecx
push 0x665e
push eax
xor cl, cl
call fcn.10039e59
add esp, 0xc
lea ecx, [ebp - 0x18c]
mov dl, 1
call fcn.1003a61b
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x3fc]
call fcn.10004600
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x12
jle 0x1003d61a
mov eax, esi
mov cl, byte [ebp - 0x51]
cdq
idiv dword [ebp - 0xe4]
mov esi, edx
mov dl, byte [ebp - 0x45]
call fcn.1003fa26
mov ecx, dword [ebp - 0x110]
mov dl, byte [esi + ecx]
mov cl, al
call fcn.1003fa26
mov ecx, dword [ebp - 0x1c]
push 3
mov byte [ecx + edi], al
lea ecx, [ebp - 0x218]
pop edi
push edi
call fcn.1000457d
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x50], ebx
jmp 0x1003d723
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x3a0], 0x29a3
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 4
jl 0x1003d712
mov dword [ebp - 0x50], ebx
jmp 0x1003d73f
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x318], 0xffffffff
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 2
jl 0x1003d72e
push ebx
push ecx
push 0x6c6c
push ecx
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x218]
call fcn.1003b483
add esp, 0x10
cmp dword [ebp - 0x39c], ebx
jne 0x1003d775
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x394], eax
jg 0x1003d775
mov edx, ebx
jmp 0x1003d778
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x218]
mov dword [eax], ecx
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, edx
setl cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x1003d7a5
cmp dword [ebp - 0x2c], ebx
je 0x1003d7a5
xor ecx, ecx
inc ecx
jmp 0x1003d7a7
mov ecx, ebx
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x314], eax
sub eax, ecx
add eax, 0x3773672d
mov dword [ebp - 0x28], eax
je 0x1003d88c
mov dword [ebp - 0x2c], 0xd64f6899
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003d7e7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2f8], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003d7d6
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffff8
jg 0x1003da8c
mov esi, dword [ebp - 0x218]
mov dword [ebp - 0x24], 5
xor edx, edx
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [esi + 8]
mov eax, dword [ebp - 0x2f8]
cmp eax, ecx
mov eax, dword [ebp - 0x2f0]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
sete cl
xor edx, edx
cmp ecx, 5
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setle dl
inc edx
je 0x1003d85b
cmp dword [ebp - 0x2f0], ebx
je 0x1003d85b
xor edx, edx
inc edx
jmp 0x1003d85d
mov edx, ebx
cmp dword [ebp - 0x24], 0xfffffffe
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
mov eax, dword [ebp - 0x218]
setle cl
mov dword [eax], ecx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff8
jle 0x1003d7ff
jmp 0x1003da8c
push 1
lea ecx, [ebp - 0x310]
call fcn.1000457d
lea eax, [ebp - 0x400]
mov byte [ebp - 4], 0x16
push eax
push 1
push 0x2863
lea eax, [ebp - 0x310]
mov dl, 1
push eax
push 0x1c85
push 1
mov ecx, 0x2a61
call fcn.1003a72c
push 1
push 1
push 0x27e5
push ebx
mov edx, 0x4e26
mov ecx, 0x4e2
call fcn.100399bf
add esp, 0x28
mov dword [ebp - 0x28], 0xfffffff2
cmp dword [ebp - 0x28], 0xffffffff
jle 0x1003da81
mov dword [ebp - 0x20], 0x30d6
cmp dword [ebp - 0x20], 0x3482
jle 0x1003d98a
push ebx
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
cdq
mov edi, ebx
idiv ecx
mov ecx, edx
mov dword [ebp - 0x2c], ecx
mov esi, ebx
mov eax, edi
cdq
idiv esi
lea eax, [ecx + edx]
cdq
lea ecx, [ebp - 0x518]
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003d943
mov eax, dword [eax]
push eax
call fcn.10049ba3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x518]
call fcn.10004a46
mov ecx, dword [ebp - 0x2c]
inc esi
cmp esi, 0x641c
jl 0x1003d923
inc edi
cmp edi, 0x3989
jl 0x1003d921
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x57f0
jl 0x1003d917
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x2ff7
jl 0x1003d912
mov dword [ebp - 0x2c], 0xa8663c10
cmp dword [ebp - 0x20], 0x2fe0
jge 0x1003d9a5
push str.nxymrn_ksqajwqia_zvrqrqlo_bpqsdgc_cyczwhdxy_obtjsfto_krblbm_azrcfop_jehidpo_iwpsib_dwkl
call fcn.10049ba3
pop ecx
mov dword [ebp - 4], 0x16
xor edx, edx
inc edx
xor ecx, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x40], 0xee8b7203
mov eax, dword [ebp - 0x318]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x310]
cmp dword [eax], edx
setge cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], 0x2083
cmp dword [ebp - 0x20], 0x23f4
jle 0x1003da4d
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, esi
mov dword [ebp - 0x2c], 0x233d
mov esi, dword [ebp - 0x24]
mov eax, edi
lea ecx, [ebp - 0x4dc]
and eax, esi
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003da15
mov eax, dword [eax]
push eax
call fcn.10049ba3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x4dc]
call fcn.10004a46
dec edi
dec dword [ebp - 0x2c]
jne 0x1003d9f9
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x102f
jl 0x1003d9ed
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x2b22
jl 0x1003d9e8
mov eax, dword [ebp - 0x310]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x20], 0x1def
jge 0x1003da72
push str.esdvsa_sxxbrqkiw_vqu_gijgxntu_vgmqtczm_xoqhgxcc_xfzaefkey
call fcn.10049ba3
pop ecx
mov dword [ebp - 4], 0x16
inc dword [ebp - 0x28]
jmp 0x1003d8e8
lea ecx, [ebp - 0x310]
call fcn.10004600
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10004600
push 1
push 0x225b
lea eax, [ebp - 0x51]
mov dl, 1
push eax
push ebx
lea eax, [ebp - 0x45]
mov ecx, 0x5a00
push 0x9b1
push eax
call fcn.1003ab86
mov eax, dword [ebp - 0x1c]
add esp, 0x18
mov esi, dword [ebp - 0xc4]
inc eax
push 4
pop edi
jmp 0x1003d4f5
push 0x1eeb
push 0x50b4
push 0x2580
push 1
push ebx
xor dl, dl
mov ecx, 0x6533
call fcn.1003c1b4
mov eax, dword [esi]
lea ecx, [ebp - 0x228]
add esp, 0x14
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x3c], 0x74e80031
push edi
call fcn.1000457d
push 0x1b
pop edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x40], 0x1667
cmp dword [ebp - 0x40], 0x10fd
jge 0x1003dc08
lea eax, [ebp - 0x1b0]
mov ecx, 0x1007c1f8
push eax
call fcn.1001be95
mov esi, dword [ebp - 0x1b0]
cmp esi, 1
jne 0x1003db93
lea eax, [ebp - 0xdc]
mov ecx, 0x1007c1f8
push eax
call fcn.1001be95
cmp dword [ebp - 0xdc], 0xf
mov ecx, 0x1007c0d8
jne 0x1003db75
mov edx, str.DOWN
call fcn.10006d07
jmp 0x1003db8c
cmp dword [ebp - 0xdc], 0
jne 0x1003db85
mov edx, 0x1006e738
jmp 0x1003db6e
push 0xffffffffffffffff
call fcn.10016787
push eax
call fcn.1001735e
pop ecx
add esi, 0xfffffffe
test esi, esi
jle 0x1003dbae
lea eax, [ebp - 0xdc]
mov ecx, 0x1007c1f8
push eax
call fcn.1001be95
dec esi
jne 0x1003db9a
lea eax, [ebp - 0x198]
push eax
push ecx
lea eax, [ebp - 0x1b8]
mov ecx, 0x1007c1f8
push eax
call fcn.1001be95
pop ecx
mov ecx, eax
call fcn.1001be95
mov eax, dword [ebp - 0x198]
cmp eax, 0xf
jne 0x1003dbe1
mov edx, str.DOWN
jmp 0x1003dbf7
test eax, eax
je 0x1003dbf2
mov edx, str.DOWN
cmp dword [ebp - 0x1b8], eax
jg 0x1003dbf7
mov edx, 0x1006e738
mov ecx, 0x1007c0d8
call fcn.10006d07
push eax
call fcn.1001735e
pop ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0x3602
cmp dword [ebp - 0x20], 0x391e
jle 0x1003dc77
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 0x553b
mov esi, ebx
mov edi, ebx
mov ecx, esi
mov ebx, eax
sar ebx, cl
mov eax, ebx
mov ecx, 0x1007c0d8
and eax, edi
cdq
push edx
push eax
call fcn.100042cb
inc edi
cmp edi, 0x61fa
jl 0x1003dc34
mov eax, dword [ebp - 0x24]
inc esi
push 0
pop ebx
cmp esi, 0x588d
jl 0x1003dc2c
dec eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
jne 0x1003dc2a
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x686a
jl 0x1003dc20
push 0x1b
pop edi
mov dword [ebp - 0x28], 0x209a
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x20], 0x330d
jge 0x1003dcbb
mov edx, str.lfyx_kiqiudjtw_qzb_tgmj_xsktzw_akgrgvpuy_hmv_hql_dog_zedjialys_qjeq_joopdhkd
mov ecx, 0x1007c0d8
call fcn.10006d07
jmp 0x1003dcbb
mov dword [ebp - 4], edi
mov dword [ebp - 0x40], 0x4186e145
mov dword [ebp - 0xa8], ebx
jmp 0x1003dce4
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x390], 0x7f3e
inc dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], 3
jl 0x1003dccd
push 0x771c
push ecx
push 1
lea eax, [ebp - 0xa8]
push eax
push 0x1d9a
push 0x7843
push ecx
lea edx, [ebp - 0x228]
mov ecx, 0x26ba
call fcn.1003a85d
add esp, 0x1c
mov dword [ebp - 0x1c], ebx
jmp 0x1003dd35
push 0x6a24
push 1
mov ecx, 0x6a82
call fcn.1003a9eb
inc dword [ebp - 0x1c]
pop ecx
pop ecx
cmp dword [ebp - 0x1c], 0x1c
je 0x1003dd1f
mov eax, dword [ebp - 0x390]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x228]
cmp dword [eax + 4], ebx
je 0x1003dd6b
cmp dword [ebp - 0x388], ebx
je 0x1003dd6b
xor eax, eax
inc eax
jmp 0x1003dd6d
mov eax, ebx
mov ecx, 0xc9f196e6
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xe13c
mov eax, dword [ebp - 0x228]
setge cl
cmp ecx, dword [eax]
jg 0x1003dd8e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], ebx
jne 0x1003dd9f
cmp dword [ebp - 0x40], ebx
jne 0x1003dd9f
mov edx, ebx
jmp 0x1003dda2
xor edx, edx
inc edx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x228]
cmp edx, dword [eax + 0xc]
setl cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
je 0x1003de5c
push 1
push 1
push 0x5d5a
push 0x67e
push 0x52e
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x1c0], 0xcc90c63b
push eax
push 0x6518
mov edx, 0x211a
mov cl, 1
call fcn.1003aab9
add esp, 0x1c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.10004600
mov eax, dword [ebp - 0xe0]
dec eax
cmp eax, 0x2f20
ja 0x1003f61e
lea eax, [ebp - 0xc4]
mov edx, 0xec8
push eax
push ebx
lea eax, [ebp - 0xe4]
push eax
push ecx
lea eax, [ebp - 0x45]
push eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0x110]
push eax
push 0x3a8d
lea ecx, [ebp - 0x1ac]
call fcn.1003b677
add esp, 0x20
mov dword [ebp - 0x18], ebx
jmp 0x1003df71
push 0x838
lea eax, [ebp - 0x6e]
mov byte [ebp - 0x6e], bl
push eax
push ecx
push 0x5d8
mov cl, 1
call fcn.1003ab2e
add esp, 0x10
mov dword [ebp - 0x28], 0xfffffff6
cmp dword [ebp - 0x28], 0xffffffe8
jne 0x1003ddf9
push 1
push ecx
push ecx
mov dword [ebp - 0x23c], 2
lea edx, [ebp - 0x14c]
mov dword [ebp - 0x14c], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.10039143
mov dword [ebp - 0x3c], 0x65ef
add esp, 0xc
cmp dword [ebp - 0x3c], 0x67ff
jle 0x1003df3e
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
mov eax, esi
and eax, edi
or eax, ecx
lea ecx, [ebp - 0x500]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003deec
mov eax, dword [eax]
push eax
call fcn.10049ba3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x500]
call fcn.10004a46
mov ecx, dword [ebp - 0x18]
inc esi
cmp esi, 0x1918
jl 0x1003dece
inc edi
cmp edi, 0x424d
jl 0x1003decc
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x11d9
jl 0x1003deca
push 0x4f7
push 0x2428
push ebx
push ebx
push 0x263f
push 0xefd
call dword [sym.imp.USER32.dll_ToUnicode]
cmp dword [ebp - 0x3c], 0x625e
jge 0x1003df52
push str.owwi_gvfyquopl_jugprso
call fcn.10049ba3
pop ecx
push 0x1b
pop edi
mov dword [ebp - 4], edi
dec dword [ebp - 0x28]
jmp 0x1003de7f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48c], 3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003df60
push 1
push 0x39d0
push 0x1fd5
lea eax, [ebp - 0x75]
mov byte [ebp - 0x75], bl
push eax
push ebx
push 0x27bb
mov edx, 0x4a61
xor cl, cl
call fcn.10037cbf
mov byte [ebp - 0x31], bl
add esp, 0x18
cmp byte [ebp - 0x31], 0
je 0x1003dfbb
push 0x256d
push 1
mov edx, 0x5ab1
call fcn.1003941a
pop ecx
pop ecx
push 0x4290
push 0x66c1
push 1
push 0x54f9
push 0xa9f
push 0x12f7
push ebx
mov dl, 1
mov ecx, 0x1007e7c4
call fcn.10037e1b
add esp, 0x1c
mov dword [ebp - 0x20], 0x99841b3c
lea ecx, [ebp - 0x238]
push 2
call fcn.1000457d
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x30], 0xb430688c
push 1
call fcn.1000457d
push 1
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x21
push eax
push 0x6155
push 1
lea eax, [ebp - 0x238]
mov dword [ebp - 0x30], 0x563ade45
push eax
mov dword [ebp - 0x30], ebx
mov dl, 1
mov dword [ebp - 0x2c], 6
mov ecx, 0x33dd
push 0x794d
call fcn.1003ab86
push 1
push 0x7cea
lea eax, [ebp - 0x270]
mov cl, 1
push eax
push 0x1a2f
push ebx
push 0x6e0c
lea edx, [ebp - 0x438]
call fcn.10037cbf
add esp, 0x30
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], 0x18
jl 0x1003e2bb
mov dword [ebp - 0x28], 0x102d149f
lea ecx, [ebp - 0x33c]
push 1
call fcn.1000457d
push ecx
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x22
push eax
push 0x3cc9
lea eax, [ebp - 0x33c]
mov edx, 0x66c6
push eax
push ecx
push 1
sub esp, 0x10
call fcn.10037bd8
mov dword [ebp - 0x3c], 0x466a
add esp, 0x28
cmp dword [ebp - 0x3c], 0x476c
jle 0x1003e10c
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x1007c0d8
cdq
push edx
push eax
call fcn.100042cb
inc edi
cmp edi, 0x79fc
jl 0x1003e0db
inc esi
cmp esi, 0x1182
jl 0x1003e0d9
push ebx
push 0x8f1
call dword [sym.imp.USER32.dll_BeginPaint]
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0x3c], 0x4475
jge 0x1003e146
mov edx, str.yuutl_mxgr_wpjuwcs_xzrm_iwgxl_jha_ospbg
mov ecx, 0x1007c0d8
call fcn.10006d07
jmp 0x1003e146
mov dword [ebp - 4], 0x22
mov esi, 0xc7e43439
mov dword [ebp - 0x9c], ebx
jmp 0x1003e171
mov eax, dword [ebp - 0x9c]
mov dword [ebp + eax*4 - 0x118], 0xa6ff609d
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], 1
jl 0x1003e15a
mov dword [ebp - 0x28], 0xffffffe9
jmp 0x1003e29a
mov dword [ebp - 0x3c], 0x21fbb9c
mov dword [ebp - 0x1c], ebx
jmp 0x1003e1a3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x194], 0xc520ea0c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003e192
mov dword [ebp - 0x1c], ebx
jmp 0x1003e1bf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3b8], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003e1ae
cmp dword [ebp - 0x28], ebx
je 0x1003e270
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x18], ebx
jmp 0x1003e1e7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4ac], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003e1da
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x1003e20c
push 0x2a71
push 1
call fcn.1003bb6b
dec dword [ebp - 0x18]
pop ecx
pop ecx
jns 0x1003e1f9
mov eax, dword [ebp - 0x33c]
xor ecx, ecx
mov dword [eax], 0x2fdad5a5
mov eax, dword [ebp - 0x190]
sub eax, dword [ebp - 0x190]
cmp eax, 0xfd06
setl cl
cmp esi, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x2fdad5a5
setg cl
mov dword [ebp - 0x118], ecx
test ecx, ecx
jne 0x1003e251
cmp dword [ebp - 0x20], ebx
jne 0x1003e251
mov ecx, ebx
jmp 0x1003e254
xor ecx, ecx
inc ecx
mov dword [ebp - 0x3b8], ecx
mov eax, dword [ebp - 0x4a0]
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
neg ecx
jmp 0x1003e28f
mov eax, dword [ebp - 0x238]
cmp dword [eax], ebx
je 0x1003e28d
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0x190], ebx
je 0x1003e28d
xor ecx, ecx
inc ecx
jmp 0x1003e28f
mov ecx, ebx
mov eax, dword [ebp - 0x238]
mov dword [eax], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1d
jl 0x1003e186
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x21
call fcn.10004600
dec dword [ebp - 0x20]
jmp 0x1003e07e
inc dword [ebp - 0x2c]
lea ecx, [ebp - 0x438]
call fcn.10004600
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.10004600
mov dword [ebp - 0x128], 0xca29
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x1d4], ebx
xor eax, eax
mov dword [ebp - 0x1b4], 0xfffffffc
inc eax
mov dword [ebp - 0x28c], 0xa277ebd0
mov edi, ebx
mov dword [ebp - 0x284], 0xfffffff8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24c], 0xfffffff9
mov dword [ebp - 0x1c4], 0x968cb667
mov dword [ebp - 0x1cc], eax
push 2
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2a8], edi
call fcn.1000457d
mov dword [ebp - 4], 0x25
mov dword [ebp - 0x30], 0x5f4b
mov dword [ebp - 0x1bc], 0xfffffffd
mov dword [ebp - 0x25c], 0x11e75876
mov dword [ebp - 0x18], ebx
jmp 0x1003e375
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x378]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003e365
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x24c]
push eax
push 1
push ecx
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x1bc]
push eax
push ecx
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x25c]
push eax
push ecx
lea eax, [ebp - 0x1cc]
mov ecx, 0x627
push eax
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x1d4]
push eax
lea edx, [ebp - 0x128]
call fcn.1003ac0a
push 1
push 1
push 0x4416
push 1
push 0x5c7b
mov edx, 0x1a56
lea ecx, [ebp - 0x128]
call fcn.10037c33
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x378]
add esp, 0x4c
call fcn.10004600
mov esi, dword [ebp - 0xc4]
add esi, 4
mov dword [ebp - 0x18], 0xfffffffd
push 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1003e434
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10c], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003e423
mov dword [ebp - 0x18], ebx
jmp 0x1003e5ec
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 0x505b
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], ebx
jl 0x1003e5e9
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, 7
setne dl
sub edx, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
sete dl
xor ecx, ecx
imul eax, edx, 0x4d02
cmp eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
setle cl
mov dword [ebp + eax*4 - 0x10c], ecx
test ecx, ecx
je 0x1003e5bc
mov dword [ebp - 0x20], ebx
jmp 0x1003e51e
cmp dword [ebp - 0x20], ebx
jne 0x1003e524
push 1
push 0x7f3b
push 0x633a
push 1
push 0x6c90
push 0x54ef
push 0x1be2
push 0x419a
lea eax, [ebp - 0x7f]
mov byte [ebp - 0x7f], bl
push eax
push 0x662c
push 0x2476
mov edx, 0x74bd
xor cl, cl
call fcn.1003c006
add esp, 0x2c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xf
jl 0x1003e4d4
mov eax, dword [ebp - 0x10c]
xor ecx, ecx
mov eax, dword [ebp - 0x108]
neg eax
add eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp - 0x100]
cmp eax, 0x9892
mov eax, dword [ebp - 0x1c]
setl cl
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 0xb604
test eax, eax
jne 0x1003e581
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x10c], ebx
jne 0x1003e581
mov eax, ebx
jmp 0x1003e584
xor eax, eax
inc eax
xor ecx, ecx
cmp eax, 1
mov eax, dword [ebp - 0x1c]
sete cl
imul ecx, dword [ebp + eax*4 - 0x10c]
xor eax, eax
cmp ecx, 0xffffffff
setge al
cmp eax, dword [ebp - 0x1c]
jle 0x1003e5ad
cmp dword [ebp - 0x3c], ebx
jne 0x1003e5ad
mov ecx, ebx
jmp 0x1003e5b0
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10c], ecx
jmp 0x1003e5d8
push ecx
push ecx
lea eax, [ebp - 0x6d]
mov byte [ebp - 0x6d], bl
push eax
push ebx
mov edx, 0x1312
mov ecx, 0x1dd
call fcn.1003c14b
add esp, 0x10
cmp dword [ebp - 0x10c], ebx
jne 0x1003e5e9
dec dword [ebp - 0x1c]
jns 0x1003e462
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jne 0x1003e441
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x2a0], 0xdaa237f4
mov dword [ebp - 0x18], ebx
jmp 0x1003e61d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x120], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003e60c
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], ebx
jl 0x1003e637
mov cl, 1
call fcn.1003b0c1
dec dword [ebp - 0x58]
jns 0x1003e62b
mov dword [ebp - 0x58], ebx
jmp 0x1003e684
lea eax, [ebp - 0x58]
mov dword [ebp - 0x26c], 9
push eax
push ecx
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x1dc], ebx
push eax
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0x1ec], 0xfffffffa
push eax
push ecx
lea eax, [ebp - 0x2a0]
xor dl, dl
push eax
lea ecx, [ebp - 0x1ec]
call fcn.1003aa35
add esp, 0x18
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xfffffffb
jl 0x1003e63c
push 0xa
pop eax
mov byte [ebp - 0xd8], bl
mov byte [ebp - 0xd7], 0x53
mov word [ebp - 0xd4], ax
mov dword [ebp - 0x1c], ebx
jmp 0x1003e6b7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40c], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003e6a6
push 2
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x1003e6d6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf4], 0xa4f833fc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003e6c5
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], ebx
jl 0x1003e737
mov dword [ebp - 0x18], 0xdd688769
mov dword [ebp - 0x18], ebx
jmp 0x1003e71d
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x1003e70b
push ecx
push 1
call fcn.1003b178
pop ecx
pop ecx
push 2
pop ecx
mov eax, dword [ebp - 0xf0]
cmp dword [ebp + eax*4 - 0x40c], ebx
jne 0x1003e722
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1003e6f5
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp + eax*4 - 0x40c]
dec dword [ebp - 0xf0]
jns 0x1003e6e9
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x1003e74b
mov dl, 1
push ebx
mov cl, dl
call fcn.100387ff
pop ecx
xor eax, eax
mov word [ebp - 0xd2], ax
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0xfff9
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x30], 0x1663
mov dword [ebp - 0x30], 0xc249dd62
mov dword [ebp - 0x18], ebx
jmp 0x1003e795
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2d4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003e784
mov dword [ebp - 0xa4], 0xfffffff9
cmp dword [ebp - 0xa4], 0xffffffe7
je 0x1003ea4d
push 1
lea ecx, [ebp - 0x2ec]
call fcn.1000457d
push 2
lea ecx, [ebp - 0x304]
mov dword [ebp - 4], 0x26
call fcn.1000457d
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x114], 9
mov dword [ebp - 0xb0], ebx
push 2
call fcn.1000457d
xor edx, edx
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x68], ebx
inc edx
jmp 0x1003e813
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x2ec]
mov dword [eax + ecx*4], 0x13a473eb
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], edx
jl 0x1003e800
push edx
lea eax, [ebp - 0x304]
mov cl, 1
push eax
push 0x2898
push 0x61d0
push edx
lea eax, [ebp - 0x68]
mov edx, 0x7db4
push eax
call fcn.10037cbf
add esp, 0x18
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
push ecx
call fcn.10038734
mov dword [ebp - 0x60], 0x2f10
add esp, 0x10
cmp dword [ebp - 0x60], 0x32c2
jle 0x1003e8f4
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 0x2978
mov esi, ebx
mov dword [ebp - 0x3c], 0x3800
mov ebx, dword [ebp - 0x2c]
mov eax, esi
mov ecx, 0x1007c0d8
and eax, edi
cdq
push edx
push eax
call fcn.100042cb
add esi, ebx
dec dword [ebp - 0x3c]
jne 0x1003e882
mov esi, dword [ebp - 0x1c]
add ebx, esi
dec dword [ebp - 0x18]
push 0
mov dword [ebp - 0x2c], ebx
pop ebx
jne 0x1003e876
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x6064
jl 0x1003e86c
inc edi
cmp edi, 0x5b89
jl 0x1003e869
push ebx
push 0x5ec
push 0xb09
push 0x1bb8
push 0x2470
push 0xee4
push 0xe38
push 0x2319
push 0x25fb
call dword [sym.imp.GDI32.dll_BitBlt]
mov edi, dword [ebp - 0x28]
push 4
pop esi
mov byte [ebp - 4], 0x29
cmp dword [ebp - 0x60], 0x2e5a
jge 0x1003e93a
mov edx, str.aggfjv_qdijveuh_goknuipm_ekqwcgasd_jufiopmer_rgopha_ezclf_kxry_catcpon_oyle
mov ecx, 0x1007c0d8
call fcn.10006d07
jmp 0x1003e93a
lea eax, [ebp - 0x304]
mov dword [ebp - 4], 0x28
push eax
lea eax, [ebp - 0xa4]
push eax
push 1
push ecx
push ecx
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebp - 0x114]
call fcn.1003b209
mov ecx, dword [ebp - 0x2d0]
add esp, 0x18
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
cmp eax, ecx
jl 0x1003ea12
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x304]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x248]
mov eax, dword [eax]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x248]
mov edx, dword [eax]
mov eax, dword [ebp - 0x24]
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x46c42882
setg al
xor ecx, ecx
cmp eax, 0xecb4
setge cl
xor edx, edx
sub ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x248]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x24]
setne dl
add eax, edx
jne 0x1003ea12
mov ecx, ebx
jmp 0x1003ea15
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x2ec]
mov dword [eax], ecx
lea ecx, [ebp - 0x248]
call fcn.10004600
lea ecx, [ebp - 0x304]
call fcn.10004600
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2ec]
call fcn.10004600
dec dword [ebp - 0xa4]
jmp 0x1003e7a5
xor eax, eax
mov dword [ebp - 0x340], 7
mov word [ebp - 0x354], ax
lea ecx, [ebp - 0x354]
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x344], ebx
push eax
call fcn.1001cd0a
cmp dword [ebp - 0x340], 8
lea eax, [ebp - 0x354]
push ebx
cmovae eax, dword [ebp - 0x354]
lea ecx, [ebp - 0x354]
push 1
movzx eax, word [eax]
mov dword [ebp - 0x154], eax
call fcn.10004bb8
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0xb4], 0xc3203bd6
mov dword [ebp - 0x20], 0x108531d1
mov dword [ebp - 0x30], 0x86565ea
mov dword [ebp - 0x30], 0xb5dae8c
mov dword [ebp - 0x18], ebx
jmp 0x1003eae1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x29c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003ead4
cmp dword [ebp - 0x1c], ebx
jne 0x1003eaf1
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x598a
je 0x1003ebca
push dword [ebp - 0x120]
movdqa xmm0, xmmword [0x1006f060]
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x464]
mov dword [ebp - 0x258], ebx
push eax
push ebx
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x254], ebx
movdqu xmmword [ebp - 0x464], xmm0
mov dword [ebp - 0x250], ebx
call fcn.10007275
mov dword [ebp - 4], 0x2b
mov dword [ebp - 0x1c], ebx
jmp 0x1003ebb3
push 0x7129
sub esp, 0xc
lea eax, [ebp - 0x258]
mov edx, 0x193e
mov cl, 1
push eax
call fcn.1003b36e
mov byte [ebp - 0x31], bl
add esp, 0x14
cmp byte [ebp - 0x31], 0
je 0x1003ebb0
push 1
push ecx
mov ecx, 0xbfa
call fcn.10039911
pop ecx
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1003eb7a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.10004600
jmp 0x1003ec28
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x38], 0xa8c98aac
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x24], 0x47c914a3
mov dword [ebp - 0xb0], 0x3d975123
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x24]
jle 0x1003ec16
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x24]
neg eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x298]
inc eax
je 0x1003ec6c
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, 0xbb6f
setg dl
sub edx, 0xfffffff7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x20]
je 0x1003ec6c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb4]
mov edx, 0x6153
push ecx
push ecx
push 0x78e5
push ecx
push ecx
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x20c], 0xffffffff
push eax
lea eax, [ebp - 0x20c]
mov cl, 1
push eax
call fcn.1003b3a9
mov ecx, dword [ebp - 0xe0]
add esp, 0x1c
shr ecx, 1
mov dword [ebp - 0xb0], ecx
lea eax, [edi + 1]
cmp eax, ecx
jae 0x1003f61e
mov esi, dword [ebp - 0x40]
lea ecx, [esi + edi*2]
call fcn.10037140
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0x360]
mov dword [ebp - 0x30], 0x4d8e5ccc
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0x7a3a11c1
push 8
pop eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xee1d1102
push 2
call fcn.1000457d
mov dword [ebp - 4], 0x2e
mov dword [ebp - 0x88], ebx
jmp 0x1003ed44
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x4e8], 1
inc dword [ebp - 0x88]
cmp dword [ebp - 0x88], 3
jl 0x1003ed2d
push 0x727d
lea eax, [ebp - 0x360]
mov dl, 1
push eax
push 1
lea eax, [ebp - 0x88]
mov ecx, 0x36b4
push eax
push 0x7215
push 0x4640
push 1
call fcn.10037e1b
add esp, 0x1c
lea eax, [ebp - 0x360]
mov edx, 0x2d2c
push 1
push ecx
push eax
push ecx
mov ecx, 0xc52
call fcn.1003b483
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x360]
add esp, 0x10
call fcn.10004600
lea ecx, [esi + 4]
lea ecx, [ecx + edi*2]
call fcn.10037140
mov esi, eax
lea ecx, [ebp - 0x3c8]
push 3
mov dword [ebp - 0x60], esi
call fcn.1000457d
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x20], 1
push 2
call fcn.1000457d
push ebx
push ecx
push ecx
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 0x30
push eax
push ecx
lea edx, [ebp - 0x3c8]
mov ecx, 0x7c24
call fcn.1003bcfb
add esp, 0x14
lea eax, [ebp - 0x324]
lea edx, [ebp - 0x288]
push 0x6d8c
push 1
push 0x55e3
push ecx
push 0x59e1
push 0x26de
push 0x5637
push eax
mov ecx, 0x5ab
call fcn.1003b677
add esp, 0x20
mov dword [ebp - 0x20], ebx
push 2
pop eax
jmp 0x1003ef3a
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
jmp 0x1003ef2e
push 0x5150
push 0x55d9
push 1
push 0x7725
push 0x5088
push 0x5d89
push 1
push 1
mov dword [ebp - 0x24], 0x543beb71
mov edx, 0x7c85
push 0x65b1
mov ecx, 0x7380
call fcn.1003b805
add esp, 0x24
push 2
pop eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jl 0x1003ef2b
mov dword [ebp - 0x1c], 0xa0734f09
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jl 0x1003ef22
push dword [ebp - 0x120]
movdqa xmm0, xmmword [0x1006f090]
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 0x484]
mov dword [ebp - 0x30], 0xffffffff
push eax
push ebx
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], ebx
movdqu xmmword [ebp - 0x484], xmm0
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c0], ebx
call fcn.10007275
push ecx
push ecx
xor dl, dl
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x324]
call fcn.1003945a
pop ecx
pop ecx
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x30
call fcn.10004600
dec dword [ebp - 0x1c]
jns 0x1003eead
push 2
pop eax
dec dword [ebp - 0x24]
jns 0x1003ee9b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1003ee4f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1003ee44
lea ecx, [ebp - 0x324]
call fcn.10004600
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c8]
call fcn.10004600
cmp dword [ebp - 0xcc], 0xffffffff
jne 0x1003ef6e
test esi, esi
je 0x1003f525
mov dword [ebp - 0x1c], 0xa76aabec
mov dword [ebp - 0x24], 5
cmp dword [ebp - 0x1c], ebx
jne 0x1003ef85
mov edx, ebx
jmp 0x1003ef88
xor edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
sub eax, 0x6c382506
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
add edx, 0xfffeee4f
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor edx, edx
xor eax, eax
inc edx
cmp ecx, edx
setl al
xor ecx, ecx
cmp eax, 0x2612
setge cl
add ecx, ecx
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
jne 0x1003efe0
mov ecx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1003efe2
mov ecx, edx
xor eax, eax
cmp ecx, 0x659ea4d5
setle al
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jne 0x1003f04f
push 0x608a
push 0x3ee9
push 0x3749
push edx
push 0x346d
push 0x6b3a
push 0x4e2
push 0x5af1
push 0x91c
push 0x6042
push 0x4841
push 0x4e97
push edx
lea eax, [ebp - 0x6b]
mov byte [ebp - 0x6b], bl
push eax
mov ecx, 0x2cb2
call fcn.1003b99d
add esp, 0x38
jmp 0x1003f112
mov dword [ebp - 0x38], 0x3323
cmp dword [ebp - 0x38], 0x3660
jle 0x1003f0d7
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
xor eax, ecx
lea ecx, [ebp - 0x530]
xor eax, edx
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003f08c
mov eax, dword [eax]
push eax
call fcn.10049ba3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x530]
call fcn.10004a46
mov ecx, dword [ebp - 0x24]
inc esi
mov edx, dword [ebp - 0x18]
cmp esi, 0x7ac
jl 0x1003f06d
inc edi
cmp edi, 0x1775
jl 0x1003f06b
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x4d48
jl 0x1003f069
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x6cf5
jl 0x1003f064
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], ebx
jmp 0x1003f0f4
mov dword [ebp - 0x30], 0x4433ac25
mov eax, dword [ebp - 0x30]
add eax, 0x7612d29e
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1a
jle 0x1003f0dc
cmp dword [ebp - 0x38], 0x31c6
jge 0x1003f10e
push str.mtyec_fdsttzjrl_yjcblkull_lgga
call fcn.10049ba3
pop ecx
or dword [ebp - 4], 0xffffffff
push 0x13ef
push ecx
push 1
push ecx
push 0x6665
push 0x7955
push ecx
add edi, 4
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x77], bl
lea ecx, [ebp - 0x77]
mov dword [ebp - 0x28], edi
call fcn.1003bc98
add esp, 0x1c
mov dword [ebp - 0x18], 0xfffffff9
jmp 0x1003f257
push 1
lea ecx, [ebp - 0x330]
call fcn.1000457d
push ecx
push ecx
lea eax, [ebp - 0x330]
mov dword [ebp - 4], 0x35
push eax
push ecx
push ecx
push 0xc3e
mov dword [ebp - 0x94], 0xfffffff6
lea edx, [ebp - 0x3d4]
mov dword [ebp - 0x150], 1
xor cl, cl
push 0x7438
call fcn.1003b3a9
add esp, 0x1c
mov dword [ebp - 0x94], ebx
jmp 0x1003f22d
push 0x3684
push 0x1df0
lea eax, [ebp - 0x94]
mov dword [ebp - 0xbc], 1
push eax
push 0x4794
push 0x2b2c
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0xbc]
push eax
push ecx
push 0x9a1
lea edx, [ebp - 0x150]
mov cl, 1
call fcn.1003bea6
add esp, 0x24
mov dword [ebp - 0xbc], ebx
cmp dword [ebp - 0xbc], ebx
jl 0x1003f227
push ecx
push 1
call fcn.1003986f
pop ecx
pop ecx
push 1
push ecx
push ecx
push 0x2784
push ecx
mov byte [ebp - 0x76], bl
lea ecx, [ebp - 0x76]
mov edx, 0x2f9d
call fcn.1003bcfb
add esp, 0x14
dec dword [ebp - 0xbc]
jns 0x1003f1f8
inc dword [ebp - 0x94]
cmp dword [ebp - 0x94], ebx
jle 0x1003f1a1
mov dl, 1
push 1
mov cl, dl
call fcn.100387ff
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x330]
call fcn.10004600
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffef
jle 0x1003f149
test esi, esi
jle 0x1003f481
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], 0xfffffffe
push 3
mov dword [ebp - 0xac], 0xa7f4ea14
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x1003f296
cmp dword [ebp - 0x18], ecx
jl 0x1003f285
mov dword [ebp - 0x3c], 0x5a14
cmp dword [ebp - 0x3c], 0x5d4c
jle 0x1003f4fc
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
cdq
mov edi, ebx
idiv esi
mov esi, edx
mov eax, edi
lea ecx, [ebp - 0x548]
or eax, esi
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003f4be
add edi, dword [ebp - 0x60]
cmp dword [ebp - 0x3c], 0x57df
mov dword [ebp - 0x28], edi
jge 0x1003f516
mov dword [ebp - 0x28], 0x62fd41e5
or esi, 0xffffffff
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x28], 3
jmp 0x1003f69e
mov dword [ebp - 0x5c], 0xfffffffe
lea ecx, [ebp - 0x268]
push 1
call fcn.1000457d
mov dword [ebp - 4], 0x32
mov dword [ebp - 0x30], 0xe856dfc9
mov dword [ebp - 0x18], ebx
jmp 0x1003f57f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x268]
mov dword [eax + ecx*4], 0x2c41
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003f56c
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ecx, ecx
cmp edx, eax
mov edx, 0xb95ae649
setl cl
xor eax, eax
test ecx, ecx
setle al
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x28]
cmp eax, edx
setge cl
cmp ecx, 0xfff6
jae 0x1003f5c6
cmp dword [ebp - 0x5c], ebx
je 0x1003f5c6
xor edx, edx
inc edx
jmp 0x1003f5c8
mov edx, ebx
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x5c]
setl cl
sub eax, ecx
je 0x1003f678
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0x813
push eax
lea eax, [ebp - 0x268]
mov dl, 1
push eax
lea eax, [ebp - 0x5c]
mov ecx, 0x1f3
push eax
push 1
push ebx
call fcn.1003c1b4
add esp, 0x14
cmp dword [ebp - 0x5c], ebx
je 0x1003f68d
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], esi
call fcn.10004600
sub esp, 0xc
mov dword [ebp - 0x30], 0x91a049fe
lea edx, [ebp - 0x7d]
mov byte [ebp - 0x7d], bl
mov cl, 1
push 0x6fb0
call fcn.100393e4
add esp, 0x10
mov dl, 1
push 0x11fc
push ecx
push 0x37f9
push 0x7589
push ecx
push 0x77ae
mov ecx, 0x6c8
call fcn.1003aa35
add esp, 0x18
mov ecx, dword [ebp - 0xc]
mov eax, 0x1007e7c4
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x1003f68a
push ecx
push ebx
call fcn.1003b178
pop ecx
pop ecx
cmp dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], esi
call fcn.10004600
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x18
jle 0x1003f545
jmp 0x1003f61e