Function at 0x10031540
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10055233
call fcn.10053f54
sub esp, 0x1d4
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], edx
je 0x10031b72
cmp byte [ebp + 0x20], 0
je 0x10031b67
mov esi, dword [ebp + 0x1c]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x10031b5c
lea eax, [ebp - 0xf8]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.1002a7cc
mov dword [ebp - 4], ebx
mov edi, 0xa4e4
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
push dword [ebp - 0x90]
sar eax, 1
push eax
push edi
push 0xc2de
call fcn.1000dfc5
pop ecx
pop ecx
call eax
push dword [ebp - 0x90]
lea ecx, [ebp - 0xb0]
call fcn.10013de1
push 0x59f3
mov byte [ebp - 4], 1
call fcn.1002a336
cmp dword [ebp - 0x9c], 8
pop ecx
movzx edx, ax
lea ecx, [ebp - 0xb0]
cmovae ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x98], edx
cmp word [ecx + eax*2 - 2], dx
je 0x10031641
lea eax, [ebp - 0xb0]
mov dl, 1
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
push ecx
push 0x5d04
call fcn.10030f52
add esp, 0x14
push 0x3bc0
push 1
push 0x52e1
lea eax, [ebp - 0xb0]
mov edx, 0x6c79
push eax
push 1
push 1
push 0x1db6
mov ecx, 0x5bc8
call fcn.100310d2
add esp, 0x1c
lea eax, [ebp - 0xb0]
cmp dword [ebp - 0x9c], 8
cmovae eax, dword [ebp - 0xb0]
push ebx
push eax
push edi
push 0x72ee
call fcn.1000dfc5
pop ecx
pop ecx
call eax
push ecx
push 1
push 0x1291
push ecx
push ecx
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0x98]
call fcn.1003130c
add esp, 0x14
mov dword [ebp - 0x94], ebx
lea eax, [ebp - 0x94]
mov edx, 0x7ee7
push 0x7577
push eax
push ecx
push esi
mov ecx, 0x6d71
call fcn.1003226e
add esp, 0x10
mov byte [ebp + 0x13], bl
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x74], 0x5600bd02
mov dword [ebp - 0x70], 0xaf044b03
mov dword [ebp - 0x6c], 0x133685d
mov byte [ebp - 0x68], bl
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10003e3e
push 0x10
pop edx
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 2
call fcn.1003444d
push ecx
push ecx
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x11c]
call fcn.10020627
push 0x78
pop eax
push 2
mov ecx, ebx
mov word [ebp - 0xd8], ax
pop esi
mov dword [ebp - 0x80], ecx
cmp esi, 6
jne 0x100317c7
mov dword [ebp - 0x80], 5
push 9
mov dword [ebp - 0x1c], 0x2632
cmp dword [ebp - 0x1c], 0x29b3
pop esi
mov dword [ebp - 0x20], esi
jle 0x1003180e
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov eax, edi
mov esi, 0x5f76
mov dword [ebp - 0x18], eax
mov ecx, ebx
mov dword [ebp - 0x40], ebx
sar eax, cl
mov ecx, 0x1006d158
xor eax, edx
cdq
push edx
push eax
call fcn.100021b6
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x14]
inc ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], ecx
cmp ecx, 0x5fc0
jl 0x10031780
dec eax
mov dword [ebp - 0x18], eax
dec esi
jne 0x1003177b
inc edi
cmp edi, 0x7f72
jl 0x10031771
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0xef1
jl 0x1003176f
mov esi, dword [ebp - 0x20]
jmp 0x1003180e
movzx edx, byte [ebp + esi - 0x73]
mov eax, esi
sub eax, ecx
push 0x64a7
movzx eax, byte [ebp + eax - 0x76]
movzx ecx, word [ebp + eax*2 - 0xdc]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x74]
add ecx, edx
push ecx
push ecx
push 0x6214
push 1
mov word [ebp + eax*2 - 0xdc], cx
push ecx
lea ecx, [ebp - 0x80]
call fcn.10031373
add esp, 0x18
add esi, 2
cmp esi, 0xd
jae 0x1003181e
mov ecx, dword [ebp - 0x80]
jmp 0x10031744
xor eax, eax
mov dword [ebp - 0x15c], 7
mov word [ebp - 0xd4], ax
lea ecx, [ebp - 0x170]
mov word [ebp - 0x170], ax
lea eax, [ebp - 0xdc]
push eax
mov dword [ebp - 0x160], ebx
call fcn.10014086
push ecx
push ecx
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x11c]
call fcn.10020627
push ebx
push 1
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 3
call fcn.10003fdb
xor eax, eax
lea edi, [ebp - 0xdc]
cmp dword [ebp - 0x108], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0x11c]
cmovae eax, dword [ebp - 0x11c]
mov edi, 0xa4e4
push eax
push edi
push 0x31fb
call fcn.1000dfc5
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x10031903
push ebx
lea eax, [ebp - 0x174]
push eax
push dword [ebp - 0x94]
mov eax, dword [ebp + 0x1c]
push dword [eax]
push esi
push edi
push 0xb8e0
call fcn.1000dfc5
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x1dff
setne bl
call fcn.1000dfc5
pop ecx
pop ecx
call eax
test bl, bl
jne 0x10031944
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x1c0]
call fcn.10003fdb
push ebx
push 1
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 1
call fcn.10003fdb
mov edi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x12c
jb 0x100316f6
mov ecx, dword [ebp - 0x28]
mov dword [ecx], 2
jmp 0x10031b3e
push 0x22
pop edi
xor ebx, ebx
mov dword [ebp - 0x34], 0xc801e000
push 2
mov word [ebp - 0x3c], di
mov ecx, ebx
pop esi
cmp esi, 2
jne 0x10031962
push esi
pop ecx
jmp 0x1003198b
movzx edx, byte [ebp + esi - 0x33]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x36]
movzx ecx, word [ebp + eax*2 - 0x3c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x34]
add ecx, edx
mov word [ebp + eax*2 - 0x3c], cx
mov ecx, ebx
add esi, 2
cmp esi, 4
jb 0x10031959
xor eax, eax
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x3a], ax
lea ecx, [ebp - 0x140]
mov word [ebp - 0x140], ax
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x130], ebx
call fcn.10014086
push ecx
push ecx
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x3c], ebx
call fcn.10020627
push 2
mov ecx, ebx
mov dword [ebp - 0x54], 0xd502df00
mov dword [ebp - 0x50], 0x30d02d5
mov word [ebp - 0x4c], 0x17c
mov byte [ebp - 0x4a], 0x73
mov word [ebp - 0xd0], di
pop esi
mov dword [ebp - 0x84], ecx
cmp esi, 2
jne 0x10031a16
push 3
pop ecx
push ecx
mov dword [ebp - 0x84], ecx
pop esi
jmp 0x10031a7a
movzx edx, byte [ebp + esi - 0x53]
mov eax, esi
sub eax, ecx
push 0x2be2
push 1
push 0x4286
movzx eax, byte [ebp + eax - 0x56]
push 0x6609
push 0x7158
push 0x6a69
movzx eax, word [ebp + eax*2 - 0xd0]
mov ecx, eax
and eax, edx
or ecx, edx
mov dl, 1
sub ecx, eax
movzx eax, byte [ebp + esi - 0x54]
push 0x1f7d
mov word [ebp + eax*2 - 0xd0], cx
lea eax, [ebp - 0x84]
push eax
mov cl, dl
call fcn.100309dc
mov ecx, dword [ebp - 0x84]
add esp, 0x20
add esi, 2
cmp esi, 0xb
jb 0x10031a04
xor eax, eax
mov dword [ebp - 0x178], 7
mov word [ebp - 0xc8], ax
lea ecx, [ebp - 0x18c]
mov word [ebp - 0x18c], ax
lea eax, [ebp - 0xd0]
push eax
mov dword [ebp - 0x17c], ebx
call fcn.10014086
push ecx
push ecx
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x140]
call fcn.10020627
push ebx
push 1
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 7
call fcn.10003fdb
xor eax, eax
lea edi, [ebp - 0xd0]
stosd dword es:[edi], eax
mov edx, 0x6cda
push ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp + 0x13]
push eax
push 1
call fcn.1003147a
add esp, 0xc
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0x140]
call fcn.1002ff42
mov ecx, dword [ebp - 0x28]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0x140]
call fcn.10003fdb
push ebx
push 1
lea ecx, [ebp - 0x1c0]
call fcn.10003fdb
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.10003fdb
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.10003fdb
lea ecx, [ebp - 0x90]
call fcn.1002a853
jmp 0x1003222c
mov dword [edx], 1
jmp 0x1003222c
mov eax, dword [ebp + 8]
or dword [eax], 0xffffffff
jmp 0x1003222c
cmp byte [ebp + 0xc], 0
je 0x10032227
mov eax, 0x996a5308
mov dword [ebp - 0xe0], ecx
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x1c], 0x320525c7
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0xc2c6
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jne 0x10031bcd
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe8]
cmp eax, edx
setge cl
cmp dword [ebp - 0x18], ecx
jne 0x10031c07
push ecx
push edx
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push eax
push ecx
mov ecx, 0x4632
call fcn.1002f99f
add esp, 0x10
jmp 0x10031d04
mov dword [ebp - 0x1c], 0x3b72
cmp dword [ebp - 0x1c], 0x3ded
jle 0x10031c78
mov dword [ebp - 0x40], ebx
mov edi, ebx
mov dword [ebp - 0x2c], 0x43ef
mov esi, ebx
mov dword [ebp - 0x28], 0x66fb
mov eax, esi
lea ecx, [ebp - 0x1e0]
cdq
push edx
push eax
call fcn.10001311
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10031c46
mov eax, dword [eax]
push eax
call fcn.1003bcd0
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1e0]
call fcn.10001623
add esi, edi
dec dword [ebp - 0x28]
jne 0x10031c2c
mov esi, dword [ebp - 0x40]
add edi, esi
dec dword [ebp - 0x2c]
jne 0x10031c23
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x38d8
jl 0x10031c1a
mov dword [ebp - 0x14], 0xfff9
cmp dword [ebp - 0x1c], 0x38e4
jge 0x10031c93
push str.ihq_hdahxh_ncuom
call fcn.1003bcd0
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0x5f402be2
cmp dword [ebp - 0xe8], ebx
jge 0x10031cb0
cmp dword [ebp - 0x18], ebx
je 0x10031cb0
xor esi, esi
inc esi
jmp 0x10031cb2
mov esi, ebx
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, esi
setg al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x14]
je 0x10031cda
cmp dword [ebp - 0x14], ebx
jne 0x10031cda
mov eax, ebx
jmp 0x10031cdd
xor eax, eax
inc eax
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x10031d3b
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1002fc19
mov dword [ebp - 0x1c], 0x1ec6
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xe8]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x14]
jns 0x10031d10
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0x20], 0xafe01bd9
mov dword [ebp - 0x20], 0xdae8c9f3
mov dword [ebp - 0x20], 0x6092
mov dword [ebp - 0x1c], 0xa4f
cmp dword [ebp - 0x1c], 0xcb8
jle 0x10031db0
push ebx
push 0x390
push 0x1aee
push ebx
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov ecx, 0x1006d158
xor eax, esi
xor eax, edi
cdq
push edx
push eax
call fcn.100021b6
inc ebx
cmp ebx, 0x7d5d
jl 0x10031d7f
inc esi
push 0
pop ebx
cmp esi, 0x35dd
jl 0x10031d7c
inc edi
cmp edi, 0x73c0
jl 0x10031d7a
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0x1c], 0x8d6
jge 0x10031dd6
mov edx, str.bppovhwvv_jxd_xzscrcb_gxpsczmbk_ajl_iqbvx_crcpn_ncaogy_ysifwj_cpwjkv_tsi_unjqrgif_hqncvzzr
mov ecx, 0x1006d158
call fcn.100037d8
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xfc]
mov dword [ebp - 0xfc], 3
push eax
push ecx
lea edx, [ebp - 0x100]
mov cl, 1
call fcn.1002f577
pop ecx
pop ecx
push 0x7c
pop eax
push 2
mov ecx, ebx
mov byte [ebp - 0x48], bl
mov dword [ebp - 0x47], 0x451f04f2
mov word [ebp - 0x43], 0x15aa
mov word [ebp - 0x38], ax
pop esi
mov dword [ebp - 0x7c], ecx
cmp esi, 2
jne 0x10031e4b
push 5
pop ecx
push ecx
mov dword [ebp - 0x7c], ecx
pop esi
jmp 0x10031e98
movzx edx, byte [ebp + esi - 0x47]
mov eax, esi
sub eax, ecx
push 0x49d5
movzx eax, byte [ebp + eax - 0x4a]
movzx ecx, word [ebp + eax*2 - 0x38]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x48]
add ecx, edx
mov word [ebp + eax*2 - 0x38], cx
lea eax, [ebp - 0x7c]
push eax
push 0x6c25
push ecx
push 0x2b80
push 0x7fcb
mov cl, 1
call fcn.1002f6dc
mov ecx, dword [ebp - 0x7c]
add esp, 0x18
add esi, 2
cmp esi, 7
jb 0x10031e1a
xor eax, eax
mov word [ebp - 0x36], ax
mov dword [ebp - 0x14], 0xd6c05baf
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], 0xb0866193
mov dword [ebp - 0x20], 0x98aac1e0
mov dword [ebp - 0x18], ebx
jmp 0x10031ed4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c8], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031ec7
mov dword [ebp - 0x18], ebx
jmp 0x10031ef0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x190], 0x674fa72d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10031edf
mov dword [ebp - 0x14], ebx
jmp 0x10031f2d
mov dword [ebp - 0x20], 8
xor ecx, ecx
mov dword [ebp - 0x20], 0x3d2717f4
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x1c], 0x8f0a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
test eax, eax
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
jle 0x10031efb
xor eax, eax
mov dword [ebp - 0x194], 7
mov word [ebp - 0x1a8], ax
lea ecx, [ebp - 0x1a8]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x198], ebx
push eax
call fcn.10014086
mov edx, dword [ebp + 0x14]
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0xd
call fcn.1002f246
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0xf
call fcn.10003fdb
mov dword [ebp - 0x14], ebx
jmp 0x10031fa0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10031f8f
mov dword [ebp - 0xb8], 0xffffffe8
cmp dword [ebp - 0xb8], 0xffffffe3
jl 0x10032095
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1003208a
mov dword [ebp - 0x2c], 0x2546
cmp dword [ebp - 0x2c], 0x2802
jle 0x10032035
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 0x2bc2
mov ecx, esi
mov eax, edi
sar eax, cl
mov ecx, 0x1006d158
xor eax, ebx
cdq
push edx
push eax
call fcn.100021b6
dec esi
dec dword [ebp - 0x1c]
jne 0x10031ff1
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x15f1
jl 0x10031fe7
inc edi
push 0
pop ebx
cmp edi, 0x1040
jl 0x10031fdf
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0xf16
jl 0x10031fdd
push ebx
push 0x5594
push ecx
mov ecx, 0x291d
call fcn.10031337
add esp, 0xc
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x2c], 0x2432
jge 0x10032083
mov edx, str.xynbdmydu_cajp_mdkf_cyaoku_igcwvkpy_teifsdje_ecfiwkfrl_gpzdnkpx_gffa_wps
mov ecx, 0x1006d158
call fcn.100037d8
jmp 0x10032083
mov dword [ebp - 4], 0xf
dec dword [ebp - 0xb8]
jmp 0x10031fb0
sub esp, 0xc
mov dword [ebp - 0x38], ebx
mov cl, 1
call fcn.1002f2c6
mov dword [ebp - 0xf4], 0xfffffffe
add esp, 0xc
mov dword [ebp - 0x104], 0x50e6da50
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x100320d8
push 0xc7d
push 0x3e0a
mov ecx, 0x1ab8
call fcn.10030889
pop ecx
pop ecx
lea eax, [ebp - 0xf4]
push 1
push eax
lea edx, [ebp - 0x104]
call fcn.1002f7d3
pop ecx
pop ecx
push 0xa
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x64], 0x7016402
mov byte [ebp - 0x60], bl
mov dword [ebp - 0x5f], 0xcd9a0404
mov dword [ebp - 0x5b], 0x2903adc9
mov word [ebp - 0xc0], ax
pop esi
mov dword [ebp - 0x78], ecx
cmp esi, 6
jne 0x10032128
push 5
pop ecx
push 9
mov dword [ebp - 0x78], ecx
pop esi
jmp 0x1003217b
movzx edx, byte [ebp + esi - 0x63]
mov eax, esi
sub eax, ecx
push 0x4ac4
push 1
push 0x1f87
movzx eax, byte [ebp + eax - 0x66]
push 1
push 0x2576
push 1
movzx eax, word [ebp + eax*2 - 0xc4]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0x33a4
sub ecx, eax
movzx eax, byte [ebp + esi - 0x64]
mov word [ebp + eax*2 - 0xc4], cx
lea ecx, [ebp - 0x78]
call fcn.1002f42d
mov ecx, dword [ebp - 0x78]
add esp, 0x18
add esi, 2
cmp esi, 0xd
jb 0x10032118
xor eax, eax
mov dword [ebp - 0x144], 7
mov word [ebp - 0xbc], ax
lea ecx, [ebp - 0x158]
mov word [ebp - 0x158], ax
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0x148], ebx
call fcn.10014086
xor eax, eax
mov byte [ebp - 4], 0x12
lea edi, [ebp - 0xc4]
xor dl, dl
stosd dword es:[edi], eax
mov cl, 1
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x158]
push eax
push 1
push 0x6210
push 0x43f9
push 0x7f47
push 0x3dd8
lea eax, [ebp - 0x128]
push eax
push 0x102e
call fcn.100309dc
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x128]
add esp, 0x20
push eax
call fcn.100331df
push ebx
push 1
lea ecx, [ebp - 0x158]
call fcn.10003fdb
lea ecx, [ebp - 0x128]
call fcn.10033596
jmp 0x1003222c
mov eax, dword [ebp + 0x18]
inc dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret