Function at 0x1003bf6c
Capabilities:
Encrypt data using speck

Disassembly:
mov eax, 0x1005e183
call fcn.1005c4f8
sub esp, 0x418
push ebx
push esi
mov dword [ebp - 0x1c], 0x16a8
xor ebx, ebx
cmp dword [ebp - 0x1c], 0x17a3
push edi
mov dword [ebp - 0x10], esp
jle 0x1003bffb
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov eax, esi
mov dword [ebp - 0x24], ebx
cdq
idiv edi
mov edi, edx
mov esi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, ebx
cdq
idiv esi
mov eax, edi
mov ecx, edx
sar eax, cl
mov ecx, 0x10078fb8
cdq
push edx
push eax
call fcn.10001d2f
inc esi
cmp esi, 0x6acf
jl 0x1003bfad
inc ebx
push 0
mov dword [ebp - 0x24], ebx
cmp ebx, 0x678f
pop ebx
jl 0x1003bfa8
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x7a0c
jl 0x1003bf9e
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x5f73
jl 0x1003bf99
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x1c], 0x1645
jge 0x1003c016
mov edx, str.fxwjopwkn_pebawb_mzfzrsz_gkg_gpzd_til_vwwboc_vmwi_cbon_ivbz_smiyeex_hlx_yxwpqgso
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
push ecx
push ecx
mov dword [ebp - 0x58], 0x39b642c7
mov edx, 0x6fb2
push 1
mov ecx, 0x2a3d
call fcn.1003b9fd
pop ecx
pop ecx
push 1
push 0x3473
mov ecx, 0x34da
call fcn.100382cc
mov dword [ebp - 0x24], 0xfffffffa
add esp, 0xc
mov dword [ebp - 0x18], 0xf1448112
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1003c097
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe0], 0x99244325
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003c086
mov dword [ebp - 0x30], 0x6b7a
cmp dword [ebp - 0x30], 0x6e11
jle 0x1003c118
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, edi
mov dword [ebp - 0x38], ebx
cdq
idiv esi
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x38]
mov esi, edx
mov eax, esi
mov ecx, 0x10078fb8
cdq
idiv edi
and edx, ebx
mov eax, edx
cdq
push edx
push eax
call fcn.10001d2f
inc edi
cmp edi, 0x5f9
jl 0x1003c0ca
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x1c], esi
push 0
pop ebx
cmp esi, 0x681
jl 0x1003c0ba
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x4926
jl 0x1003c0b5
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x3deb
jl 0x1003c0b0
push 2
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x1003c131
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x178], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003c120
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x30], 0x6aef
jge 0x1003c151
mov edx, str.vypszlpw_phptuyajg_xyxdx_twnrzl_xzyimreep_cxqkpaeg_ifm_hgvu_sgdex_ghocdy
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
neg eax
je 0x1003c1a0
cmp dword [ebp - 0xd8], ebx
je 0x1003c1a0
xor eax, eax
inc eax
jmp 0x1003c1a2
mov eax, ebx
mov ecx, 0xf29c8dda
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, 3
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x18], ecx
inc edx
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x20], 0x54f8d36f
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x174]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0x38], 0x364f2ca1
jle 0x1003c230
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0x24], eax
je 0x1003c240
cmp dword [ebp - 0x18], ebx
jne 0x1003c24a
mov eax, ebx
cmp dword [ebp - 0xe0], ebx
je 0x1003c24c
mov eax, edx
xor ecx, ecx
shl eax, 3
cmp eax, 0x39bb
setle cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], ebx
jmp 0x1003c2ab
mov dword [ebp - 0x38], 0x6bbbd28a
mov dword [ebp - 0x24], 0x33dc28bf
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jne 0x1003c299
mov eax, dword [ebp - 0x20]
mov esi, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
jmp 0x1003c29b
mov esi, ebx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp esi, eax
sete cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x19
jle 0x1003c261
push 0x15c4
push 0x6d07
push edx
lea eax, [ebp - 0x89]
mov byte [ebp - 0x89], bl
push eax
push 0x5e0e
push edx
push 0x4246
push 0x68bb
mov edx, 0x516c
mov cl, 1
call fcn.10038bbc
xor ecx, ecx
add esp, 0x20
inc ecx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x1fc], 0xfc36fe5a
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003c328
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3d0], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003c317
lea eax, [ebp - 0x228]
mov edx, 0x7ba2
push eax
push 0x7a65
push ecx
lea eax, [ebp - 0x1fc]
push eax
push ecx
sub esp, 0xc
call fcn.1003abea
add esp, 0x1c
lea edx, [ebp - 0x20c]
push ebx
push ecx
push ecx
call fcn.1003a08c
mov eax, dword [0x1013ed80]
add esp, 0x10
test al, 1
jne 0x1003c3a1
or eax, 1
mov dword [0x1013ed80], eax
mov dword [ebp - 4], 7
mov dword [0x1013ed84], ebx
mov dword [0x1013ed88], ebx
call fcn.1003f0b8
push 0x1005e451
mov dword [0x1013ed84], eax
call fcn.1004576a
or dword [ebp - 4], 0xffffffff
pop ecx
push 2
lea ecx, [ebp - 0x24c]
call fcn.10001eb9
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x18], 0xfffffffa
push 3
call fcn.10001eb9
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x44], 0x7666
mov dword [ebp - 0x28], 0xfffffffa
push 3
call fcn.10001eb9
push 0x2813
push 1
push ecx
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xa
push eax
push ecx
push 0x6588
mov edx, 0x157
lea ecx, [ebp - 0x48]
call fcn.10038e3b
add esp, 0x18
mov dword [ebp - 0x48], ebx
jmp 0x1003c427
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x3c8], 0xfffffff9
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 4
jl 0x1003c416
mov dword [ebp - 0x48], ebx
jmp 0x1003c445
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18c]
mov dword [eax + ecx*4], 0xab462a77
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 3
jl 0x1003c432
push ebx
lea eax, [ebp - 0x300]
push eax
push 0x7470
push ecx
push ecx
lea ecx, [ebp - 0x48]
call fcn.10037fe6
mov edi, dword [ebp - 0x24c]
add esp, 0x14
mov dword [ebp - 0x38], edi
inc dword [edi + 4]
mov dword [ebp - 0x1c], 0x2cbd
cmp dword [ebp - 0x1c], 0x2e04
jle 0x1003c53d
push 0x41c
push 0xdd6
push 0x2586
push 0x2058
push 0x2214
push 0x1fb1
push 0x1dcf
push 0x1c6b
push 0x604
call dword [sym.imp.GDI32.dll_Arc]
mov dword [ebp - 0x20], ebx
mov edx, ebx
mov dword [ebp - 0x34], 0x708a
mov dword [ebp - 0x24], edx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
mov edi, ebx
mov esi, edx
sar esi, cl
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x40c]
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003c4f2
mov eax, dword [eax]
push eax
call fcn.10045794
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x40c]
call fcn.1000224a
inc edi
cmp edi, 0x722d
jl 0x1003c4d4
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x4b32
jl 0x1003c4cc
mov eax, dword [ebp - 0x20]
add edx, eax
dec dword [ebp - 0x34]
mov dword [ebp - 0x24], edx
jne 0x1003c4c7
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x3483
jl 0x1003c4bb
mov edi, dword [ebp - 0x38]
mov edx, dword [edi + 4]
cmp edx, dword [ebp - 0x18]
je 0x1003c54e
test edx, edx
je 0x1003c54e
xor ecx, ecx
inc ecx
jmp 0x1003c550
mov ecx, ebx
xor eax, eax
cmp ecx, 0x6a6c
setle al
xor ecx, ecx
cmp eax, edx
setle cl
imul ecx, edx
sub ecx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x18c]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [edi + 4]
add ecx, 0xcf0a
mov dword [eax + 4], ecx
xor eax, eax
cmp ecx, 0xd018
setle al
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x18c]
je 0x1003c5a4
cmp dword [esi], ebx
je 0x1003c5a4
xor ecx, ecx
inc ecx
jmp 0x1003c5a6
mov ecx, ebx
xor eax, eax
cmp ecx, 9
setle al
xor ecx, ecx
imul eax, eax, 0xdb5a
cmp eax, 0x28e
setl cl
xor edx, edx
cmp ecx, 0xcdee
setg dl
xor eax, eax
cmp dword [edi + 4], edx
setge al
cmp eax, dword [edi + 4]
jg 0x1003c5de
cmp dword [esi], ebx
jne 0x1003c5de
mov ecx, ebx
jmp 0x1003c5e1
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax]
imul eax, ecx
cmp eax, dword [ebp - 0x44]
jg 0x1003c601
mov eax, dword [ebp - 0x18c]
cmp dword [eax + 8], ebx
je 0x1003c601
xor eax, eax
inc eax
jmp 0x1003c603
mov eax, ebx
mov ecx, 0xcd1ac8c6
cmp ecx, eax
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x300]
setle dl
cmp dword [ebp - 0x1c], 0x2a85
mov dword [eax + 4], edx
jge 0x1003c635
push str.lntjasw_uuz_badika_pynpwd_gnkkwhy_brf_lwc_bydgfpjj_qatiwk_pkkuci_dihjl_pxa_inzdkqrsr
call fcn.10045794
pop ecx
lea ecx, [ebp - 0x300]
call fcn.10001f3c
lea ecx, [ebp - 0x18c]
call fcn.10001f3c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.10001f3c
cmp byte [0x1013d82a], 0
jne 0x1003e5c0
push 2
pop edi
push edi
lea ecx, [ebp - 0x344]
call fcn.10001eb9
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0xb8], 0xfffffff6
push 3
call fcn.10001eb9
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x214], 0xa7b7e80d
mov dword [ebp - 0x1ec], 8
mov dword [ebp - 0x9c], ebx
jmp 0x1003c6cd
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x344]
mov dword [eax + ecx*4], 0x42eb90da
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], edi
jl 0x1003c6b4
push 1
push 0x3205
lea eax, [ebp - 0x27c]
mov dl, 1
push eax
push 0x538e
push ebx
push 0x2ebf
push 0x5377
lea ecx, [ebp - 0x9c]
call fcn.10037688
add esp, 0x18
mov edx, 0x1a56
push ebx
push ecx
push ecx
lea ecx, [ebp - 0x27c]
call fcn.1003aad2
add esp, 0x10
mov dword [ebp - 0xb8], edi
cmp dword [ebp - 0xb8], ebx
jl 0x1003c791
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x1b0], 0x4ef66b17
push eax
lea eax, [ebp - 0x27c]
mov dl, 1
push eax
push 1
lea eax, [ebp - 0x1ec]
push eax
push ecx
lea eax, [ebp - 0x214]
push eax
push ebx
lea ecx, [ebp - 0x1b0]
call fcn.10038e80
add esp, 0x1c
mov dl, 1
push 0x16e0
push 0x1d60
push 1
push 0x7268
push ecx
push 0x769e
push 1
mov ecx, 0x66a4
call fcn.10038e80
add esp, 0x1c
dec dword [ebp - 0xb8]
jns 0x1003c727
lea ecx, [ebp - 0x27c]
call fcn.10001f3c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x344]
call fcn.10001f3c
mov byte [0x1013d82a], 1
mov dword [ebp - 0x18], 0x3ae35568
mov dword [ebp - 0x1d8], ebx
mov dword [ebp - 0x1d0], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003c819
push 0x7b09
push ecx
push 1
push 0x3231
push ecx
mov dword [ebp - 0x1c8], 0x83111738
xor cl, cl
call fcn.1003b532
add esp, 0x14
lea eax, [ebp - 0x1c8]
mov dl, 1
lea ecx, [ebp - 0x1d8]
push eax
push 0xf5b
push ebx
push ebx
lea eax, [ebp - 0x1d0]
push eax
push 0x7336
call fcn.1003a56b
add esp, 0x18
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff6
jle 0x1003c7ca
push 0xc
mov dword [ebp - 0xcc], 0x10075af0
mov dword [ebp - 0x104], ebx
pop esi
mov dword [ebp - 0x20], esi
cmp esi, 0xe0
jge 0x1003cccf
mov dword [ebp - 0x18], 0x76f5020f
mov dword [ebp - 0x1c], 0x7568
cmp dword [ebp - 0x1c], 0x7832
jle 0x1003c8a1
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
mov dword [ebp - 0x34], 0x147f
mov dword [ebp - 0x30], eax
mov esi, eax
mov edi, 0x2436
mov eax, esi
mov ecx, 0x10078fb8
cdq
push edx
push eax
call fcn.10001d2f
dec esi
dec edi
jne 0x1003c870
mov eax, dword [ebp - 0x30]
dec eax
dec dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
jne 0x1003c869
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x3c65
jl 0x1003c85d
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x18], ebx
jmp 0x1003c8b7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3b8], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003c8a6
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x1c], 0x71d6
jge 0x1003c8dc
mov edx, str.rbr_tobudan_srk_ssjxfu_yqnjvlq_ywmbbxos_qlxbi_yso
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
push 0x2136
push ecx
push 1
push 0x2f6
mov edx, 0x1bbc
mov ecx, 0x3ea0
call fcn.10038f14
add esp, 0x10
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x1003ca6f
mov dword [ebp - 0xbc], 0xc3ad3b31
mov dword [ebp - 0xbc], 3
cmp dword [ebp - 0xbc], ebx
jl 0x1003ca56
mov byte [ebp - 0x8b], bl
mov dword [ebp - 0x1c], 0x6c59
cmp dword [ebp - 0x1c], 0x6c72
jle 0x1003c9a1
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, ebx
cdq
idiv edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], edx
mov eax, ebx
mov dword [ebp - 0x30], ebx
add eax, ecx
mov ecx, 0x10078fb8
and eax, edx
cdq
push edx
push eax
call fcn.10001d2f
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
inc eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
cmp eax, 0x6f97
jl 0x1003c95b
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x379a
jl 0x1003c956
inc edi
cmp edi, 0x5841
jl 0x1003c949
inc esi
cmp esi, 0x4eaf
jl 0x1003c947
mov esi, dword [ebp - 0x20]
push 1
push 0x11a7
push 0x7b7e
push 0x6c5a
push 1
lea eax, [ebp - 0x8b]
mov dl, 1
push eax
push 0x479c
mov ecx, 0x4ba2
call fcn.10037688
add esp, 0x1c
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x1c], 0x69d3
jge 0x1003c9ee
mov edx, str.adxuebd_gtekfssmd_ucry_pdvg_vtvnpx_nwubn_mfhemqwjd
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x3b8], ebx
jne 0x1003ca56
dec dword [ebp - 0xbc]
jmp 0x1003c923
push ecx
lea eax, [ebp - 0xbc]
xor cl, cl
push eax
call fcn.1003bc08
dec dword [ebp - 0x18]
pop ecx
pop ecx
jmp 0x1003c906
mov ecx, dword [ebp - 0xcc]
mov al, byte [ecx]
cmp al, byte [esi + ecx]
jne 0x1003cd16
push 0x5f90
push 0x2f3d
lea eax, [ebp - 0x8d]
mov dword [ebp - 0x18], 0xe0cf5720
push eax
push 1
push 1
mov byte [ebp - 0x8d], bl
xor dl, dl
push 0x7eb8
mov ecx, 0x6b32
call fcn.1003a036
add esp, 0x18
mov dword [ebp - 0x18], ebx
jmp 0x1003cb03
push 0x3b14
push ecx
push 0x4ad0
push 1
push 0x51f9
push 0x2ef9
push 0x4cc9
push 0x11a5
push 0x3fd4
push 0x543
push ebx
push 0x2ad0
push 0x5a3a
mov edx, 0x7833
mov cl, 1
call fcn.10039215
add esp, 0x34
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1a
jne 0x1003cabb
push 2
pop edi
mov dword [ebp - 0x104], esi
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x20], edi
push 3
call fcn.10001eb9
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x24], 0xae8ef335
mov dword [ebp - 0x1c], ebx
jmp 0x1003cb42
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13c], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003cb35
mov dword [ebp - 0x1c], ebx
jmp 0x1003cb60
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x258]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003cb4d
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1003cb7f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa0], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003cb6e
mov dword [ebp - 0x1c], ebx
jmp 0x1003cb9a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e0], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003cb89
dec dword [ebp - 0xa0]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x13c], ebx
jne 0x1003cbc5
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x134]
add ecx, eax
mov eax, dword [ebp - 0xa0]
cmp eax, ecx
mov eax, dword [ebp - 0xa0]
setg dl
sub eax, 0xccbb
neg eax
mov dword [ebp - 0x38], edx
sbb eax, eax
xor edx, edx
inc eax
cmp dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x134]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
lea eax, [ecx + 0x8db3]
imul eax, dword [ebp - 0x13c]
test eax, eax
jne 0x1003cc1f
cmp dword [ebp - 0x20], ebx
jne 0x1003cc1f
mov eax, ebx
jmp 0x1003cc22
xor eax, eax
inc eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 7
mov ecx, dword [ebp - 0x258]
jb 0x1003cc41
cmp dword [ecx + 4], ebx
je 0x1003cc41
xor eax, eax
inc eax
jmp 0x1003cc43
mov eax, ebx
mov dword [ecx + 8], eax
test eax, eax
je 0x1003cc99
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x30], 0xcfadbac
mov dword [ebp - 0x30], 0x909f
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [ecx + 8], edx
sub edx, eax
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x24]
jl 0x1003cc82
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x20], ebx
jmp 0x1003ccc0
push 0x6e45
push 0x5b7c
push 1
push 1
push 0x414f
push 0x7f19
xor dl, dl
mov ecx, 0x3628
call fcn.1003a56b
add esp, 0x18
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.10001f3c
push 3
lea ecx, [ebp - 0x2e8]
call fcn.10001eb9
push 1
push 0x6ff2
push 0x6a8a
push 1
lea eax, [ebp - 0x2e8]
mov dword [ebp - 4], 0x14
push eax
lea eax, [ebp - 0xa8]
mov edx, 0x2b1b
push eax
xor cl, cl
call fcn.1003a143
add esp, 0x18
mov dword [ebp - 0xa8], ebx
jmp 0x1003cd33
inc esi
jmp 0x1003c832
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x240], 0xf01c0890
inc dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], 4
jl 0x1003cd1c
mov dword [ebp - 0x238], ebx
jmp 0x1003cd5d
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x2e8]
mov dword [eax + ecx*4], 0x3df6
inc dword [ebp - 0x238]
cmp dword [ebp - 0x238], 3
jl 0x1003cd44
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e8]
call fcn.10001f3c
push ecx
push ecx
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x230], 4
push eax
mov dword [ebp - 0xb4], 0x10075bd0
mov ecx, 0x1822
push 1
mov dword [ebp - 0x58], 0xffff
push 0x6211
mov byte [ebp - 0x8c], bl
call fcn.100390e6
add esp, 0x14
mov dl, 1
mov ecx, 0x5dcc
push 1
push ebx
call fcn.1003ba8a
mov eax, dword [ebp - 0xcc]
pop ecx
pop ecx
mov cl, byte [0x10075bd0]
mov dl, byte [eax]
mov byte [ebp - 0x39], cl
call fcn.1003f0e3
xor edi, edi
mov byte [0x10075bd0], al
inc edi
mov dword [ebp - 0x28], edi
push 0xfffffffffffffff8
pop esi
cmp edi, 4
jge 0x1003d2b0
push 3
lea ecx, [ebp - 0x270]
call fcn.10001eb9
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x18], 0x4902314a
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1003ce3f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x270]
mov dword [eax + ecx*4], 0x7f82
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003ce2c
mov dword [ebp - 0xf8], ebx
cmp dword [ebp - 0xf8], 2
jg 0x1003cf7d
mov dword [ebp - 0x20], 0x39d20578
mov dword [ebp - 0x38], ebx
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x270]
cmp dword [eax + ecx*4], ebx
je 0x1003ce79
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
xor ecx, ecx
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0xf4]
setge cl
xor edx, edx
add ecx, 0xfffffffe
cmp ecx, eax
push 2
setle dl
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], ebx
pop eax
jmp 0x1003cf62
mov dword [ebp - 0x18], ebx
jmp 0x1003cf51
mov dword [ebp - 0x1c], 0x1f06e85f
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jl 0x1003cf4e
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1003cf20
push 0x22a0
push ecx
push 0x1cb9
push 1
push 0x713e
push 0x5bf0
push 0x7759
push 0x7095
push 0x7264
push 0x757e
push 1
push 0x4d02
push 0x11be
mov edx, 0x4fb3
mov cl, 1
call fcn.10039215
add esp, 0x34
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x270]
push 0xfffffffffffffffa
pop edx
sub edx, dword [eax + ecx*4]
xor ecx, ecx
cmp edx, dword [eax + esi*4]
setge cl
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x1c]
jns 0x1003ced1
push 2
pop eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1003cec2
cmp dword [ebp - 0x20], ebx
jne 0x1003cf6b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1003ceba
inc dword [ebp - 0xf8]
cmp dword [ebp - 0xf8], eax
jle 0x1003ce58
push ecx
push 1
push ecx
push ecx
mov byte [ebp - 0x65], bl
lea edx, [ebp - 0x65]
mov ecx, 0x7195
call fcn.1003aad2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x270]
add esp, 0x10
call fcn.10001f3c
mov eax, dword [ebp - 0xb4]
mov al, byte [edi + eax]
mov dword [ebp - 0x18], 0x62d5e48d
mov dword [ebp - 0x18], 0x4f4a
cmp dword [ebp - 0x18], 0x4f8f
mov byte [ebp - 0x29], al
jle 0x1003d020
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], 0x542d
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, edi
and eax, ebx
and eax, ecx
mov ecx, 0x10078fb8
cdq
push edx
push eax
call fcn.10001d2f
mov ecx, dword [ebp - 0x30]
add ecx, esi
dec dword [ebp - 0x34]
mov dword [ebp - 0x30], ecx
jne 0x1003cfdd
inc esi
push 0
pop ebx
cmp esi, 0x121c
jl 0x1003cfce
inc edi
cmp edi, 0x86f
jl 0x1003cfcc
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x30c2
jl 0x1003cfca
mov dword [ebp - 0x58], 0x3c8fc558
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x18], 0x4de7
jge 0x1003d046
mov edx, str.prrjqslps_zkoej_fdgrgk
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003d085
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x348], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003d074
mov dword [ebp - 0x18], ebx
jmp 0x1003d0d9
push 0x5109
push 0x48af
push 0x31a9
push 0x2400
push 0x1b
push ecx
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], 1
push eax
push ecx
push 0x4c28
push 0x1327
push ebx
mov edx, 0x74d9
mov ecx, 0x27ff
call fcn.1003942e
add esp, 0x2c
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff4
jle 0x1003d090
mov edi, dword [ebp - 0x28]
mov eax, edi
cdq
idiv dword [ebp - 0x104]
mov cl, byte [ebp - 0x29]
mov esi, edx
mov dl, byte [ebp - 0x39]
call fcn.1003f0e3
mov ecx, dword [ebp - 0xcc]
mov dl, byte [esi + ecx]
mov cl, al
call fcn.1003f0e3
mov ecx, dword [ebp - 0xb4]
mov byte [edi + ecx], al
xor eax, eax
inc eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
push eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x8a]
push 0x3f30
push eax
push ecx
push ecx
mov dword [ebp - 0x1c], 0xfffffff9
mov ecx, 0x3398
mov byte [ebp - 0x8a], bl
call fcn.10037fe6
mov dword [ebp - 0x1c], 3
add esp, 0x14
cmp dword [ebp - 0x1c], ebx
jl 0x1003d2a4
mov dword [ebp - 0x20], 0xc558bac0
lea ecx, [ebp - 0x318]
push 3
call fcn.10001eb9
lea eax, [ebp - 0x318]
mov dword [ebp - 4], 0x18
push eax
push ecx
push ebx
lea eax, [ebp - 0x360]
push eax
push ecx
xor cl, cl
call fcn.1003b532
add esp, 0x14
mov dword [ebp - 0x20], ebx
jmp 0x1003d282
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x158], ebx
jne 0x1003d28c
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x1003d1d6
cmp dword [ebp - 0x20], ebx
je 0x1003d1d6
xor ecx, ecx
inc ecx
jmp 0x1003d1d8
mov ecx, ebx
mov esi, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x318]
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x14c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp esi, ecx
setge al
xor ecx, ecx
cmp eax, 0x523dd972
mov eax, dword [ebp - 0x14c]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setg dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x1c]
setge cl
add edx, ecx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x158]
cmp eax, edx
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x158]
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x1c]
add ecx, 0x249687fd
mov dword [ebp + eax*4 - 0x158], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x1003d1a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x318]
call fcn.10001f3c
dec dword [ebp - 0x1c]
jns 0x1003d165
mov al, byte [ebp - 0x29]
inc edi
mov byte [ebp - 0x39], al
jmp 0x1003cde2
mov dword [ebp - 0x1c], 0x8a61928c
mov dword [ebp - 0x38], 0x7c769867
mov dword [ebp - 0x18], ebx
jmp 0x1003d2d4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2d0], 0x229edca8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003d2c3
mov dword [ebp - 0x1c], 9
jmp 0x1003d3b6
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 0xf9e3d3b
mov dword [ebp - 0x20], 0x10
jmp 0x1003d3a9
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x20], ebx
jne 0x1003d311
cmp dword [ebp - 0x24], ebx
jne 0x1003d311
mov eax, ebx
cmp eax, dword [ebp - 0x18]
jge 0x1003d31b
cmp dword [ebp - 0x18], ebx
jne 0x1003d31e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0x718b
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setne dl
sub eax, dword [ebp - 0x28]
sub edx, 0xdfe9
xor ecx, ecx
cmp eax, edx
setl cl
add ecx, dword [ebp - 0x20]
jne 0x1003d353
cmp dword [ebp - 0x1c], ebx
jne 0x1003d353
mov ecx, ebx
jmp 0x1003d356
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
sub ecx, eax
cmp ecx, dword [ebp - 0x1c]
je 0x1003d363
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2cc]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff2
jne 0x1003d2fc
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jne 0x1003d2e6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x78], 0x571177e8
mov dword [ebp - 0x78], ebx
cmp dword [ebp - 0x78], 7
jg 0x1003d662
mov dword [ebp - 0xc0], 0x3245f1db
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0xc0], 0x1a
cmp dword [ebp - 0xc0], 0xe
jge 0x1003d65a
push 3
lea ecx, [ebp - 0x170]
call fcn.10001eb9
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x220], 0xd6c34f1d
mov dword [ebp - 0x30], 0x5b92
cmp dword [ebp - 0x30], 0x5d31
jle 0x1003d484
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], 0x1f52
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10078fb8
cdq
push edx
push eax
call fcn.10001d2f
add ebx, esi
dec dword [ebp - 0x28]
jne 0x1003d455
inc esi
push 0
pop ebx
cmp esi, 0x518d
jl 0x1003d44b
inc edi
cmp edi, 0x6aff
jl 0x1003d449
push ecx
lea eax, [ebp - 0x338]
push eax
push 0x4258
push 1
lea ecx, [ebp - 0x170]
call fcn.100393dd
add esp, 0x10
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x30], 0x58d6
jge 0x1003d4de
mov edx, str.qhmmgv_comakrz_mnww
mov ecx, 0x10078fb8
call fcn.10003c4d
jmp 0x1003d4de
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x50], ebx
jmp 0x1003d614
mov dword [ebp - 0x18], 0xfba1a4d6
mov dword [ebp - 0x64], 5
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x1003d611
mov dword [ebp - 0x1f8], 0x497f
mov dword [ebp - 0x200], ebx
cmp dword [ebp - 0x50], ebx
je 0x1003d523
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax + 8]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x64]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x170]
add edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x50]
imul ecx, edx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x170]
sub edx, dword [eax + esi*4]
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x170]
add ecx, edx
imul ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1003d596
push 1
push 1
lea eax, [ebp - 0x82]
mov byte [ebp - 0x82], bl
push eax
push 0x1095
mov edx, 0x441a
xor cl, cl
call fcn.1003a951
add esp, 0x10
jmp 0x1003d603
mov dword [ebp - 0x1f0], 0xbcfb
mov dword [ebp - 0x64], ebx
jmp 0x1003d5fd
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x140], 0xe07ad46d
push eax
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x78]
push eax
push ecx
push 0x5787
push ecx
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x200]
push eax
push 1
lea edx, [ebp - 0x220]
lea ecx, [ebp - 0x64]
call fcn.1003942e
mov eax, dword [ebp - 0x140]
add esp, 0x2c
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0xfffffff2
jg 0x1003d5a5
cmp dword [ebp - 0x78], ebx
jne 0x1003d611
dec dword [ebp - 0x18]
jns 0x1003d50b
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 2
jle 0x1003d4ed
push ecx
lea eax, [ebp - 0x190]
mov dl, 1
push eax
push 0x40c1
push 0x6f2d
lea ecx, [ebp - 0xc0]
call fcn.1003bbcb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x170]
add esp, 0x10
call fcn.10001f3c
dec dword [ebp - 0xc0]
jmp 0x1003d405
inc dword [ebp - 0x78]
jmp 0x1003d3e1
mov dword [ebp - 0x38], 0x1ba5
cmp dword [ebp - 0x38], 0x1cf2
mov dword [ebp - 0x58], str.ipqm_tpsm_ucyhul_jwis
jle 0x1003d6d6
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
mov eax, esi
xor eax, edi
xor eax, ecx
lea ecx, [ebp - 0x3f4]
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003d6a0
mov eax, dword [eax]
push eax
call fcn.10045794
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x3f4]
call fcn.1000224a
mov ecx, dword [ebp - 0x24]
inc esi
cmp esi, 0x6634
jl 0x1003d682
inc edi
cmp edi, 0x1ee8
jl 0x1003d680
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x464
jl 0x1003d67e
cmp dword [ebp - 0xd0], 0
jle 0x1003e58d
cmp dword [ebp - 0xd0], 0x2e07
jae 0x1003e58d
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xcc]
push eax
push ecx
push 1
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x39]
push eax
push 0x78d6
call fcn.100394c6
mov dword [ebp - 0x18], 0x4c23afc3
add esp, 0x24
mov dword [ebp - 0x1c], ebx
jmp 0x1003d747
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x110], 0x4ec2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1003d736
mov dword [ebp - 0x1c], ebx
jmp 0x1003d763
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10c], 0xe83c7730
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003d752
mov dword [ebp - 0x108], ebx
jmp 0x1003d793
mov eax, dword [ebp - 0x108]
cmp dword [ebp + eax*4 - 0x110], ebx
jne 0x1003d79b
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp + eax*4 - 0x110]
inc dword [ebp - 0x108]
cmp dword [ebp - 0x108], ebx
jle 0x1003d771
mov dword [ebp - 0x18], ebx
jmp 0x1003d7b8
push ebx
push ecx
call fcn.10038282
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
cmp dword [ebp + eax*4 - 0x110], ebx
jne 0x1003d7bd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1003d7a0
push ecx
push 0x1d66
push 0x1013ed84
push ebx
mov ecx, 0x151b
call fcn.100393dd
add esp, 0x10
lea ecx, [ebp - 0x164]
push 2
call fcn.10001eb9
push ebx
push 1
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x164]
push 0x3244
mov dword [ebp - 0x24], 0xcc895931
lea edx, [ebp - 0xb0]
mov dword [ebp - 0x18], 5
mov cl, 1
push eax
call fcn.1003a951
add esp, 0x10
mov dword [ebp - 0xb0], ebx
jmp 0x1003d836
mov eax, dword [ebp - 0xb0]
mov dword [ebp + eax*4 - 0x39c], 1
inc dword [ebp - 0xb0]
cmp dword [ebp - 0xb0], 3
jl 0x1003d81f
mov eax, dword [ebp - 0x164]
mov dword [eax], ebx
cmp dword [eax], 0x1a
jge 0x1003d99b
mov dword [ebp - 0x28], 0x1add
cmp dword [ebp - 0x28], 0x1dfc
jle 0x1003d88e
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10078fb8
xor eax, esi
cdq
push edx
push eax
call fcn.10001d2f
inc edi
cmp edi, 0x37c7
jl 0x1003d864
inc esi
cmp esi, 0xb9e
jl 0x1003d862
push ebx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 0x30], ebx
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x28], 0x17c3
jge 0x1003d8cb
mov edx, str.tjbqulowl_bwnjnsw_ctx_pfj_ugioepmuz_gtbyqh_vsoqmblwr_vna
mov ecx, 0x10078fb8
call fcn.10003c4d
jmp 0x1003d8cb
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x44], 0xfffffffa
mov dword [ebp - 0x40], 0xda99da97
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x40], 0xbbfad0d7
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003d907
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x22c], 0xea14c553
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003d8f6
mov ecx, dword [ebp - 0x164]
cmp dword [ecx], 0x2d9e
jl 0x1003d936
mov eax, dword [ecx]
mov dword [ebp - 0x24], 0x45fe
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x164]
xor eax, eax
inc eax
sub eax, dword [ecx]
jne 0x1003d940
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 1
setge cl
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1003d98e
lea eax, [ebp - 0x208]
mov dword [ebp - 0x208], 0xffffffff
push eax
push 0x4744
push 0x6e04
push 1
push 1
push 0x57d1
mov dl, 1
mov ecx, 0x6432
call fcn.1003a036
add esp, 0x18
dec dword [ebp - 0x18]
jns 0x1003d956
mov eax, dword [ebp - 0x164]
inc dword [eax]
jmp 0x1003d847
mov ecx, dword [ebp - 0x398]
mov eax, dword [ebp - 0x164]
or dword [ebp - 4], 0xffffffff
mov dword [eax], ecx
lea ecx, [ebp - 0x164]
call fcn.10001f3c
mov dword [ebp - 0xc4], ebx
xor ecx, ecx
mov dword [ebp - 0x18], ebx
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003d9da
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1ac], 0x8eac8b13
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003d9c9
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1003d9fc
push ecx
push ecx
push ecx
push ecx
mov edx, 0x52e8
call fcn.1003a08c
xor ecx, ecx
add esp, 0x10
inc ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1003da15
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x1ac], ebx
jne 0x1003da15
dec dword [ebp - 0x18]
jns 0x1003da04
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x1c], ecx
add edi, 4
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x2dc]
push 2
mov dword [ebp - 0x34], edi
call fcn.10001eb9
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x210], 0xfffe
mov dword [ebp - 0x4c], ebx
jmp 0x1003da62
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x11c], 0xfffffffe
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jl 0x1003da51
mov dword [ebp - 0x4c], ebx
jmp 0x1003da7e
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x390], 0xfffffffe
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jl 0x1003da6d
lea eax, [ebp - 0x2dc]
mov dl, 1
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.100391d8
mov dword [ebp - 0x1c], 2
pop ecx
pop ecx
cmp dword [ebp - 0x1c], ebx
jl 0x1003dbc8
mov dword [ebp - 0x28], 0x7826243a
mov dword [ebp - 0x18], ebx
jmp 0x1003dac5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x32c], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003dab4
mov dword [ebp - 0x32c], 0xffffffff
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x11c], 0xce1a
jg 0x1003daeb
mov eax, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x11c]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x1c]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xf1bb
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
add edx, 5
mov eax, dword [ebp + eax*4 - 0x11c]
neg edx
sbb edx, edx
inc edx
sub edx, eax
cmp edx, dword [ebp - 0x114]
jne 0x1003db48
cmp dword [ebp - 0x1c], ebx
je 0x1003db48
xor ecx, ecx
inc ecx
jmp 0x1003db4a
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x118]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x11c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x1c]
jne 0x1003db8f
cmp dword [ebp - 0x1c], ebx
je 0x1003db8f
xor eax, eax
inc eax
jmp 0x1003db91
mov eax, ebx
mov dword [ebp - 0x388], eax
xor ecx, ecx
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x11c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x25a9
mov eax, dword [ebp - 0x2dc]
setg cl
mov dword [eax], ecx
dec dword [ebp - 0x1c]
jns 0x1003daa8
push 1
lea eax, [ebp - 0x210]
mov edx, 0x603a
push eax
push 0xab4
push 1
push 0x344e
push 0x39ac
mov cl, 1
call fcn.1003a143
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2dc]
add esp, 0x18
call fcn.10001f3c
push dword [ebp - 0x22c]
movdqa xmm0, xmmword [0x1006bdd0]
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x374]
mov dword [ebp - 0x288], ebx
push eax
push ebx
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x284], ebx
movdqu xmmword [ebp - 0x374], xmm0
mov dword [ebp - 0x280], ebx
call fcn.100045dd
push 1
lea eax, [ebp - 0x66]
mov dword [ebp - 4], 0x20
push eax
mov edx, 0x716
mov byte [ebp - 0x66], bl
push ecx
push ecx
lea ecx, [edx - 0x2e]
call fcn.1003b6af
add esp, 0xc
mov byte [ebp - 0x71], bl
lea eax, [ebp - 0x71]
xor dl, dl
push 0x48dd
push ecx
push 1
push eax
call fcn.1003a9e5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x288]
add esp, 0x14
call fcn.10001f3c
mov byte [ebp - 0x70], bl
mov dword [ebp - 0x6f], 0x1607025a
mov dword [ebp - 0x18], 0x9dada439
mov dword [ebp - 0x18], ebx
jmp 0x1003dcb3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3a8], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003dca2
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x1003dce7
push 0x57de
push 1
mov edx, 0x3099
call fcn.1003a33c
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov eax, dword [ebp + eax*4 - 0x3a8]
dec dword [ebp - 0x18]
jns 0x1003dcc5
push 0xa
pop eax
push 2
mov word [ebp - 0xc8], ax
pop esi
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x20], esi
cmp esi, 5
jae 0x1003e0a4
mov dword [ebp - 0x24], 0x4fd3df75
mov dword [ebp - 0x40], 0xf394a2a4
mov dword [ebp - 0x40], 0x1d832937
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xad72d767
mov dword [ebp - 0x40], 0xad67a4be
mov dword [ebp - 0x40], 0xf023498e
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x30], 0xf5ef889a
mov dword [ebp - 0x18], ebx
jmp 0x1003dd57
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3dc], 0xf44cacff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003dd46
mov dword [ebp - 0x24], 0xfffffff2
cmp dword [ebp - 0x24], ebx
jne 0x1003de3e
xor eax, eax
inc eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x28], 0x28c6
cmp dword [ebp - 0x28], 0x2c9a
jle 0x1003ddd5
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x44], ebx
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10078fb8
or eax, esi
cdq
push edx
push eax
call fcn.10001d2f
inc ebx
cmp ebx, 0x72e9
jl 0x1003dd9f
inc edi
push 0
pop ebx
cmp edi, 0x10ce
jl 0x1003dd9c
inc esi
cmp esi, 0x2134
jl 0x1003dd9a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 4], 0x21
cmp dword [ebp - 0x28], 0x2651
jge 0x1003ddf4
mov edx, str.feir_twmfkhw_xxsyvqqcz
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
dec dword [ebp - 0x30]
push 0x2b25
push ecx
push 1
push ecx
mov ecx, 0x55b4
call fcn.1003a3a1
add esp, 0x10
inc dword [ebp - 0x24]
jmp 0x1003dd64
movzx eax, byte [ebp - 0x70]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x1003dea8
movzx edi, byte [ebp + esi - 0x70]
lea eax, [edi + 1]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x18], 0xe0cf
dec dword [ebp - 0x18]
mov dword [ebp - 0x18], 0xfffffffa
jmp 0x1003de9a
push 0x7e47
push 0x3310
push 1
push 1
lea eax, [ebp - 0x79]
mov byte [ebp - 0x79], bl
push 0x9a6
push eax
mov dl, 1
mov ecx, 0xe18
call fcn.1003a56b
add esp, 0x18
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x20
jne 0x1003de6e
dec esi
add esi, edi
jmp 0x1003e09c
push 1
push 0x3303
push 0x683c
push ebx
push 0x262a
mov dl, 1
mov ecx, 0x495
call fcn.1003b717
movzx edx, byte [ebp + esi - 0x6f]
lea eax, [ebp - 0x70]
sub eax, dword [ebp - 0x120]
add esp, 0x14
movzx eax, byte [eax + esi - 2]
movzx ecx, word [ebp + eax*2 - 0xc8]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x70]
add ecx, edx
xor edx, edx
inc edx
mov word [ebp + eax*2 - 0xc8], cx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x94], 0xfffffffe
cmp dword [ebp - 0x94], 0xfffffff6
jg 0x1003e077
mov dword [ebp - 0x148], 0x4667120
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x18], ebx
jmp 0x1003df44
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x88], 0x8e17
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003df33
mov eax, dword [ebp - 0x28]
mov ecx, 0x4bf8
sub ecx, eax
jne 0x1003df65
mov eax, dword [ebp - 0x88]
mov ecx, ebx
sub eax, dword [ebp - 0x88]
je 0x1003df67
mov ecx, edx
mov eax, ebx
cmp dword [ebp - 0x88], ebx
je 0x1003df73
mov eax, edx
add eax, ecx
jne 0x1003dfe5
cmp dword [ebp - 0x28], ebx
jne 0x1003dfe5
push edx
lea ecx, [ebp - 0x2f4]
call fcn.10001eb9
push ecx
lea eax, [ebp - 0x364]
mov dword [ebp - 4], 0x23
push eax
push ecx
push ecx
lea edx, [ebp - 0x2f4]
mov cl, 1
call fcn.1003a78e
add esp, 0x10
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x2f4]
push eax
push 0x45b3
lea eax, [ebp - 0x148]
push eax
push ecx
push ebx
call fcn.1003b4d9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2f4]
add esp, 0x1c
call fcn.10001f3c
jmp 0x1003e061
mov dword [ebp - 0x44], 0x7f4039ee
mov dword [ebp - 0x30], 0x653b1dab
mov dword [ebp - 0x30], 0xfffffff9
cmp dword [ebp - 0x30], ebx
je 0x1003e009
mov ecx, edx
cmp dword [ebp - 0x148], ebx
jne 0x1003e00b
mov ecx, ebx
mov eax, dword [ebp - 0x44]
imul eax, ecx
test eax, eax
je 0x1003e01d
cmp dword [ebp - 0x88], ebx
jne 0x1003e01f
mov edx, ebx
xor eax, eax
cmp edx, 0xf3b0
setne al
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x88]
setns dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 5
setne al
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x88]
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x130], ecx
dec dword [ebp - 0x94]
cmp dword [ebp - 0x94], 0xfffffff6
push 1
pop edx
jle 0x1003df1e
push 0x6703
lea eax, [ebp - 0x120]
mov ecx, 0x1748
push eax
push edx
push ebx
push 0x3343
push 0x344d
call fcn.1003a56b
add esp, 0x18
add esi, 2
jmp 0x1003dcfa
mov dword [ebp - 0x80], 0xe1e87df2
xor ecx, ecx
mov dword [ebp - 0x28], 0xed4a55f0
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003e0c7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003e0ba
push ebx
push ecx
push ecx
push 0x22e0
mov edx, 0x1582
lea ecx, [ebp - 0x80]
call fcn.1003bd5d
add esp, 0x10
mov dword [ebp - 0x80], ebx
jmp 0x1003e1a5
mov dword [ebp - 0x18], 0xfde2bbef
mov dword [ebp - 0x18], ebx
jmp 0x1003e199
push 1
lea ecx, [ebp - 0x19c]
call fcn.10001eb9
xor edx, edx
mov dword [ebp - 0x20], ebx
inc edx
jmp 0x1003e11f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1003e110
mov eax, dword [ebp - 0x19c]
mov dword [eax], ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0xd4], ecx
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1003e169
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xd4]
test eax, eax
sete cl
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x24]
jns 0x1003e150
mov eax, dword [ebp - 0x19c]
dec dword [eax]
jns 0x1003e12c
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xd4]
cmp eax, 6
setne cl
imul eax, ecx, 0xfffffff7
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x28], eax
call fcn.10001f3c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1003e0fb
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], ebx
jle 0x1003e0ec
xor eax, eax
mov dword [ebp - 0x2a4], 7
mov word [ebp - 0xc6], ax
lea ecx, [ebp - 0x2b8]
mov word [ebp - 0x2b8], ax
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0x2a8], ebx
call fcn.10009def
cmp dword [ebp - 0x2a4], 8
lea eax, [ebp - 0x2b8]
push ebx
cmovae eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x2b8]
push 1
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
call fcn.100023b6
mov esi, ebx
push 2
lea ecx, [ebp - 0x30c]
call fcn.10001eb9
mov dword [ebp - 4], 0x24
mov dword [ebp - 0xac], ebx
jmp 0x1003e23d
mov eax, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0x218], 0xffffffff
inc dword [ebp - 0xac]
cmp dword [ebp - 0xac], 1
jl 0x1003e226
push ecx
push ecx
push 0x1a6f
lea eax, [ebp - 0xac]
push ebx
push eax
lea ecx, [ebp - 0x30c]
call fcn.100390e6
mov edx, dword [ebp - 0x30c]
add esp, 0x14
mov dword [edx + 4], ebx
mov eax, dword [edx + 4]
xor ecx, ecx
mov dword [ebp - 0x44], 0xffffffff
mov eax, dword [ebp + eax*4 - 0x218]
test eax, eax
sets cl
dec dword [edx + 4]
mov dword [ebp - 0x44], ecx
jns 0x1003e26c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
mov dword [edx + 4], 1
call fcn.10001f3c
xor eax, eax
mov word [ebp + esi*2 - 0xc8], ax
inc esi
cmp esi, 2
jb 0x1003e20a
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xc4]
shr ecx, 1
mov dword [ebp - 0x44], ecx
lea eax, [esi + 1]
cmp eax, ecx
jae 0x1003e58d
push ecx
push 1
push ecx
mov dword [ebp - 0x54], 0xc7894801
push ecx
call fcn.1003a867
push 1
push 1
push 0x2f51
push 0x1ac8
mov edx, 0x2f92
mov cl, 1
call fcn.1003a951
mov edi, dword [ebp - 0x34]
add esp, 0x20
lea ecx, [edi + esi*2]
call fcn.100372a0
add esi, 2
mov dword [ebp - 0x128], eax
lea ecx, [edi + esi*2]
call fcn.100372a0
mov esi, eax
mov dword [ebp - 0x18], 0x5d6c05ba
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0x324]
push 2
mov dword [ebp - 0x30], esi
call fcn.10001eb9
lea eax, [ebp - 0x324]
mov dword [ebp - 4], 0x25
mov dword [ebp - 0x54], 0x68f5
lea edx, [ebp - 0x334]
push eax
call fcn.1003902a
pop ecx
mov dword [ebp - 0x18], 0xfffffffe
jmp 0x1003e4b2
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x28], 0x3550e352
mov dword [ebp - 0x1b4], 0x3418
mov dword [ebp - 0x28], 0xf68d270c
mov dword [ebp - 0x20], ebx
jmp 0x1003e39e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffff8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1003e38d
mov dword [ebp - 0x1c], ebx
jmp 0x1003e4a5
mov dword [ebp - 0x20], 0xf8f0aa6e
xor edx, edx
mov dword [ebp - 0x28], 0x535dd253
inc edx
mov dword [ebp - 0x28], 0x97c242ea
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x24], ebx
jne 0x1003e3e9
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jne 0x1003e3e0
mov eax, dword [ebp - 0x1c4]
mov ecx, 0xffff
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x324]
mov dword [eax], 0xffff
mov eax, dword [ebp - 0x18]
sub ecx, eax
xor eax, eax
cmp ecx, 4
setne al
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
je 0x1003e42d
cmp dword [ebp - 0x1c], 3
jle 0x1003e3ac
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jge 0x1003e369
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x324]
call fcn.10001f3c
cmp dword [ebp - 0x128], 0xffffffff
jne 0x1003e5d6
cmp dword [ebp - 0x38], 0x1883
jge 0x1003e59f
push dword [ebp - 0x58]
call fcn.10045794
pop ecx
or dword [ebp - 4], 0xffffffff
mov edx, 0x2a50
push 1
push 1
push 1
push 0x4b70
mov ecx, 0xa70
call fcn.1003bd5d
add esp, 0x10
mov ecx, dword [ebp - 0xc]
mov eax, 0x1013ed84
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret