Function at 0x1002ca13
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10059738
call fcn.10058864
sub esp, 0x180
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x48], dl
mov byte [ebp - 0x50], cl
je 0x1002ca5f
test dl, dl
je 0x1002ca48
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
jmp 0x1002d53e
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x1002d53e
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
jmp 0x1002d53e
test cl, cl
je 0x1002ca85
push 0x1db9
push 0
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolygon]
jmp 0x1002d53e
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x24], 0x2061
cmp dword [ebp - 0x24], 0x46d
mov dword [ebp - 0x34], eax
jge 0x1002cb76
push 0x68000
push 0xffffffffffffffff
push 0x100817b0
call fcn.10013d92
xor ebx, ebx
mov dword [ebp - 0x18c], 1
push 0x98
lea eax, [ebp - 0x184]
mov dword [ebp - 0x188], ebx
push ebx
push eax
call fcn.100404d0
xor esi, esi
add esp, 0x18
inc esi
mov eax, esi
cdq
push edx
push eax
push dword [ebp + esi*8 - 0x190]
push dword [ebp + esi*8 - 0x194]
call fcn.10044220
mov dword [ebp + esi*8 - 0x18c], eax
mov dword [ebp + esi*8 - 0x188], edx
inc esi
cmp esi, 0x14
jl 0x1002cae6
push 0x100817a8
call fcn.10031d5e
jmp 0x1002cb65
dec eax
push 0x100817a4
mov dword [0x100817a8], eax
call fcn.10031d5e
mov edx, dword [0x100817a4]
xor ecx, ecx
push dword [ebp + edx*8 - 0x188]
push dword [ebp + edx*8 - 0x18c]
dec edx
call fcn.1002c996
push eax
call fcn.10031ef5
mov ecx, eax
call fcn.10033d93
mov ecx, eax
call fcn.10013ec4
push eax
call fcn.10033d61
pop ecx
mov eax, dword [0x100817a8]
test eax, eax
jne 0x1002cb1e
dec eax
mov dword [0x100817a8], eax
jmp 0x1002cb78
xor ebx, ebx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x1c], 0x3bfa32a1
mov dword [ebp - 0x1c], 0x3531
mov dword [ebp - 0x1c], 0xa13b2885
mov dword [ebp - 0x18], ebx
jmp 0x1002cba6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002cb99
push ebx
push 1
lea edx, [ebp - 0x3c]
mov cl, 1
call fcn.1002c184
mov ecx, dword [ebp - 0xbc]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0xb8]
setle dl
xor ecx, ecx
cmp eax, edx
push 1
setne cl
xor dl, dl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x1c]
add eax, 0xffffde5d
add ecx, eax
mov dword [ebp - 0x1c], ecx
mov ecx, 0x55a4
mov eax, dword [ebp - 0x1c]
push 0x3963
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
push 0x4846
push 1
push 0x2d3d
lea eax, [ebp + 0x13]
mov byte [ebp + 0x13], bl
push 0x2b97
push eax
call fcn.1002c001
add esp, 0x24
mov dword [ebp - 0x9c], 7
xor eax, eax
mov dword [ebp - 0xa0], ebx
mov word [ebp - 0xb0], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1002cc57
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc8], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002cc4a
mov byte [ebp - 0x38], bl
cmp byte [ebp - 0x38], 0
je 0x1002cc74
push ecx
mov edx, 0x60ae
mov cl, 1
call fcn.1002d869
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1002cc9b
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1002cc92
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc8], 0xa9ef72d4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002cc81
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1002cc79
cmp edi, dword [ebp - 0x44]
ja 0x1002cdea
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0xc266d8ff
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x14]
sub edx, 0x81a7ecc2
neg edx
sbb edx, edx
xor eax, eax
inc edx
imul edx, dword [ebp - 0x14]
cmp edx, 0xe752
setl al
sub eax, 0x31b4f528
je 0x1002cd06
cmp dword [ebp - 0x14], ebx
je 0x1002cd06
xor eax, eax
inc eax
jmp 0x1002cd08
mov eax, ebx
neg eax
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xd73d
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp eax, edx
mov dl, 1
setle cl
cmp ecx, dword [ebp - 0x14]
jne 0x1002cd34
call fcn.1002b8ca
jmp 0x1002cd70
push 0x10a3
push ecx
push 0x4d40
push ecx
push 0x49bf
push ecx
push ecx
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x162c5d17
push eax
mov ecx, 0x27ab
call fcn.1002b79b
add esp, 0x20
mov byte [ebp - 0x35], bl
lea eax, [ebp - 0x35]
push eax
push ecx
xor cl, cl
call fcn.1002d9d6
pop ecx
pop ecx
mov dword [ebp - 0x24], 0x2792
cmp dword [ebp - 0x24], 0x27e3
jle 0x1002d518
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, esi
mov dword [ebp - 0x4c], ebx
cdq
mov esi, ebx
idiv edi
mov ecx, edx
mov dword [ebp + 0x10], ecx
mov edi, ebx
mov eax, edi
and eax, esi
xor eax, ecx
mov ecx, 0x10072098
cdq
push edx
push eax
call fcn.10013ec4
mov ecx, dword [ebp + 0x10]
inc edi
cmp edi, 0x129d
jl 0x1002cd9f
inc esi
cmp esi, 0x4ade
jl 0x1002cd9d
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0xf0f
jl 0x1002cd8e
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x3ad3
jl 0x1002cd89
jmp 0x1002d518
mov dword [ebp - 0x7c], 0xf665683c
xor ecx, ecx
mov dword [ebp - 0x94], 0x8b166c19
inc ecx
mov dword [ebp - 0x98], 0x1f6f49c2
mov dword [ebp - 0x84], 0x8551b32e
mov dword [ebp - 0x80], 0xfffffffc
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], 0x20410224
mov dword [ebp - 0x24], 0xae89405d
mov dword [ebp - 0x14], ebx
jmp 0x1002ce40
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002ce2f
mov dword [ebp - 0x14], ebx
jmp 0x1002ce55
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002ce4b
lea eax, [ebp - 0x94]
mov dl, cl
push eax
lea eax, [ebp - 0x7c]
push eax
push ecx
push 0x140c
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002c246
inc dword [ebp - 0x60]
lea eax, [ebp - 0x54]
push 0x463e
push eax
lea eax, [ebp - 0x44]
push eax
lea edx, [ebp - 0xb0]
call fcn.1002e0a7
mov dword [ebp - 0x18], 0x4a0d
add esp, 0x24
mov dword [ebp - 0x28], 0xeb4c8f0d
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x2c], 0x69bc
cmp dword [ebp - 0x2c], 0x6ae0
jle 0x1002cf4b
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
mov ecx, ebx
cdq
idiv esi
mov dword [ebp - 0x1c], ecx
mov eax, edx
mov dword [ebp - 0x24], eax
cdq
mov edi, ebx
idiv ecx
mov esi, edx
mov eax, esi
mov ecx, 0x10072098
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10013ec4
inc edi
cmp edi, 0x323a
jl 0x1002ceea
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7836
jl 0x1002cee3
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0xb88
jl 0x1002ced4
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x5b1b
jl 0x1002cecf
push ebx
push ebx
push 0x2437
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
mov dword [ebp - 0x1c], 1
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x65ec
jge 0x1002cf92
mov edx, str.rif_fvpfp_nnujv_rklocp_kypj_vfgvrueo_pykov_homypeoi_xuxi_wdp_upds_khytzipmx_tqmi
mov ecx, 0x10072098
call fcn.1001684d
jmp 0x1002cf92
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0x14a9c79e
mov dword [ebp - 0x14], ebx
jmp 0x1002cfb2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x90], 0x4dcc80fc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002cfa1
mov dword [ebp - 0x14], ebx
jmp 0x1002cfcb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002cfbd
cmp dword [ebp - 0x18], ebx
jne 0x1002cfd9
dec dword [ebp - 0x78]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x74], ebx
je 0x1002cfee
cmp dword [ebp - 0x88], ebx
je 0x1002cfee
xor ecx, ecx
inc ecx
jmp 0x1002cff0
mov ecx, ebx
mov eax, dword [ebp - 0x8c]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
jne 0x1002d022
cmp dword [ebp - 0x88], ebx
je 0x1002d022
inc edx
jmp 0x1002d024
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0x8009
xor ecx, ecx
cmp eax, 5
setle cl
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 1
jg 0x1002d081
mov ecx, 0x6d9e96b
mov dword [ebp - 0x24], 0x2e7eb665
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x90], ecx
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
cmp eax, ecx
je 0x1002d073
xor eax, eax
inc eax
jmp 0x1002d075
mov eax, ebx
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x1002d053
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
jae 0x1002d36c
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x1c], 0xea4d
mov dword [ebp - 0x20], 0xbc22
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x24], 0x19ff40b3
mov dword [ebp - 0x14], ebx
jmp 0x1002d0c3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], 0x6fda0246
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002d0b5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x6c], 0xbc35
jle 0x1002d0de
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
sub ecx, 0x7b2415fb
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x68]
setge bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
shl ecx, 2
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setne cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x6c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
cmp edx, dword [ebp - 0x6c]
jne 0x1002d190
push 0x5a7c
push ecx
mov cl, 1
call fcn.1002d9d6
pop ecx
pop ecx
push 0x3325
push 0x6ee2
push ecx
lea eax, [ebp - 0x36]
xor ebx, ebx
push eax
push 0x1482
push 0x6d4b
xor dl, dl
mov byte [ebp - 0x36], bl
mov ecx, 0xc65
call fcn.1002c246
add esp, 0x18
jmp 0x1002d355
xor ebx, ebx
mov dword [ebp - 0x14], 0xebc5f7c0
mov dword [ebp - 0x14], ebx
jmp 0x1002d1ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0xf82966b9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002d19e
mov dword [ebp - 0x14], ebx
jmp 0x1002d1c5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1002d1b7
mov cl, 1
call fcn.1002b75f
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setg cl
xor edx, edx
add eax, ecx
cmp eax, 3
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x14]
je 0x1002d294
xor edx, edx
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], 0xf93a29ad
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x1002d22d
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x2c]
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x14]
je 0x1002d252
cmp dword [ebp - 0x18], ebx
jne 0x1002d252
mov edx, ebx
mov eax, dword [ebp - 0x64]
sub edx, eax
jne 0x1002d25c
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp eax, 0x8ed5
mov eax, dword [ebp - 0x40]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x58]
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x58]
setl cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x58]
cmp eax, ecx
setge dl
mov dword [ebp - 0x14], edx
jmp 0x1002d355
mov dword [ebp - 0x18], 0x793d
cmp dword [ebp - 0x18], 0x7a49
jle 0x1002d2fb
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], 0x3f66
mov esi, dword [ebp - 0x1c]
mov edi, ebx
mov eax, esi
mov ecx, 0x10072098
and eax, edi
cdq
push edx
push eax
call fcn.10013ec4
inc edi
cmp edi, 0x4e1f
jl 0x1002d2bb
mov esi, dword [ebp - 0x2c]
add dword [ebp - 0x1c], esi
dec dword [ebp - 0x28]
jne 0x1002d2b6
mov edi, dword [ebp - 0x20]
dec esi
mov dword [ebp - 0x2c], esi
cmp esi, 0xffffcabe
jg 0x1002d2ac
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x5d5b
jl 0x1002d2a9
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1002d312
mov ecx, 0x4969
call fcn.1002dc8b
dec dword [ebp - 0x14]
jns 0x1002d303
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 0x7816
jge 0x1002d352
mov edx, str.psfxg_mulsnv_njdohzyzt
mov ecx, 0x10072098
call fcn.1001684d
jmp 0x1002d352
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x44]
xor cl, cl
push eax
lea edx, [ebp - 0xb0]
call fcn.1002d949
pop ecx
jmp 0x1002d081
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x14], 0x28cb
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x34], 0xa47b6c41
mov dword [ebp - 0x2c], 0x5340
cmp dword [ebp - 0x2c], 0x5709
jle 0x1002d40b
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
mov dword [ebp - 0x34], 0x2618
mov dword [ebp - 0x1c], eax
mov esi, ebx
add eax, esi
lea ecx, [ebp - 0xec]
and eax, edi
cdq
push edx
push eax
call fcn.10001ade
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002d3c9
mov eax, dword [eax]
push eax
call fcn.1004041f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xec]
call fcn.10014649
mov eax, dword [ebp - 0x1c]
inc esi
cmp esi, 0x9e8
jl 0x1002d3ad
dec eax
dec dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jne 0x1002d3ab
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x15be
jl 0x1002d39f
inc edi
cmp edi, 0x4c93
jl 0x1002d39a
mov dword [ebp - 0x18], ebx
jmp 0x1002d41e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1002d410
cmp dword [ebp - 0x2c], 0x5054
jge 0x1002d438
push str.oogaxdtan_fnfy_lhrby_atho_uocx_frjf
call fcn.1004041f
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x30], 0xfffffff2
jmp 0x1002d4f7
mov dword [ebp - 0x18], 0x9f7fd1e8
mov dword [ebp - 0x2c], 0x4145c174
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 5
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18]
jne 0x1002d47d
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setg dl
xor ebx, ebx
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setge bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x18]
je 0x1002d4be
cmp dword [ebp - 0x14], ebx
jne 0x1002d4be
mov ecx, ebx
jmp 0x1002d4c1
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
add eax, ecx
cmp eax, 6
je 0x1002d4ce
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xc
jge 0x1002d447
lea eax, [ebp - 0x37]
mov byte [ebp - 0x37], bl
push eax
push 0x3b64
push ecx
xor cl, cl
call fcn.1002c095
add esp, 0xc
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0xb0]
cmp eax, ecx
je 0x1002d530
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.1001468d
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.100147bd
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret