Function at 0x1002b0c2
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
mov eax, edx
push ebx
push esi
push edi
cmp byte [eax], 0x50
mov esi, ecx
mov dword [ebp - 0x38], eax
jne 0x1002b9a2
cmp byte [eax + 1], 0x4b
jne 0x1002b9a2
push 3
lea ecx, [ebp - 0x58]
call fcn.1000adae
mov dword [ebp - 4], 4
xor ebx, ebx
mov dword [ebp - 0x2c], 0x4868fdad
mov dword [ebp - 8], 0x5950cfdf
mov dword [ebp - 0xc], 0xd42ad01
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], 0x59c3f908
push 1
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0xc], ebx
pop edi
jmp 0x1002b139
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x1002b12d
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x58]
cmp eax, dword [ecx]
je 0x1002b150
mov eax, ebx
cmp dword [ecx + 8], ebx
je 0x1002b152
mov eax, edi
push 0xfffffffffffffff6
pop ecx
cmp ecx, eax
mov ecx, dword [ebp - 4]
sbb eax, eax
inc eax
cmp eax, 0xcfd66c4a
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 4]
neg eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x58]
cmp ecx, dword [eax]
setl dl
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp edi, eax
mov eax, dword [ebp - 0x58]
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [eax + 4]
mov eax, dword [ebp - 4]
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0xc], 0xb0d35edc
jne 0x1002b1d4
mov ecx, edi
cmp dword [ebp - 0x30], ebx
jne 0x1002b1d6
mov ecx, ebx
mov edx, dword [ebp - 8]
xor eax, eax
cmp ecx, 0x6ce2e7c5
setle al
sub edx, eax
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
call fcn.1000ae31
mov dword [ebp - 8], ebx
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 8], ebx
jmp 0x1002b27b
mov dword [ebp - 0x24], 0x164c
cmp dword [ebp - 0x24], ebx
jne 0x1002b255
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
test eax, eax
mov eax, dword [ebp - 8]
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp edx, eax
mov edx, ebx
setl cl
cmp ecx, dword [ebp - 8]
je 0x1002b257
mov edx, edi
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setne cl
cmp ecx, 0xcf041577
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setne cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x10
jl 0x1002b215
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x1002b291
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov edx, dword [ebp - 0x38]
push 2
movzx esi, byte [edx + 2]
mov cl, byte [edx + 3]
add esi, 4
mov byte [ebp - 0xd], cl
lea ecx, [ebp - 0x74]
mov dword [ebp - 8], ebx
mov dword [ebp - 4], 0x985a9576
lea eax, [esi + edx]
mov dword [ebp - 0xc], 0x5bbbdebf
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], eax
call fcn.1000adae
mov dword [ebp - 4], ebx
jmp 0x1002b2da
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1002b2ca
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], ebx
jne 0x1002b2ee
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 0x22a5bc4
setne cl
xor eax, eax
cmp ecx, edi
setg al
xor ecx, ecx
cmp eax, edi
setge cl
add ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], edi
jg 0x1002b377
mov dword [ebp - 4], edi
cmp dword [ebp - 4], ebx
jl 0x1002b354
mov dword [ebp - 0x28], 0x3e3f36a5
xor edx, edx
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + esi*4]
setle dl
imul eax, edx, 0xb56c
mov dword [ebp - 0x28], eax
dec dword [ebp - 4]
jns 0x1002b32b
mov dword [ebp - 0xc], ebx
jmp 0x1002b367
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x74]
cmp dword [eax + ecx*4], ebx
jne 0x1002b36c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x1002b359
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x1002b323
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x74]
call fcn.1000ae31
mov dword [ebp - 4], 0xffffffff
add esi, 0x18
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x1002b39c
push 0x1b10
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 4], ebx
jmp 0x1002b3c5
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x1002b3c2
push 0x215f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffe
jl 0x1002b3a1
movzx eax, byte [ebp - 0xd]
mov dword [ebp - 4], 0xa362
add esi, eax
or eax, 0xffffffff
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], ebx
jmp 0x1002b40f
mov dword [ebp - 0x28], 0xda62
mov dword [ebp - 0x24], 0xfffffff9
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 9
jg 0x1002b3f2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
call fcn.1000e9f9
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], ebx
jmp 0x1002b434
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x40], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1002b42a
mov dword [ebp - 0x40], ebx
jmp 0x1002b451
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b44e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 7
jl 0x1002b43e
mov eax, dword [ebp - 0x38]
add eax, esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], eax
jmp 0x1002b472
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3c], 0xfffffffc
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1002b464
mov dword [ebp - 0x3c], ebx
jmp 0x1002b500
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0xc8]
push 4
call fcn.1000adae
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 4], ebx
jmp 0x1002b4ad
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1002b49a
cmp dword [ebp - 0x3c], ebx
jne 0x1002b4e5
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
xor eax, eax
test edx, edx
setle al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
neg eax
cmp eax, 0xfffffffa
je 0x1002b4e7
mov ecx, edi
xor eax, eax
cmp ecx, 0xffffffff
lea ecx, [ebp - 0xc8]
setle al
mov dword [ebp - 0x28], eax
call fcn.1000ae31
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffe9
jne 0x1002b47f
push 2
pop esi
push esi
lea ecx, [ebp - 0xbc]
call fcn.1000adae
mov dword [ebp - 0x14], 0x9bdba76a
mov dword [ebp - 4], ebx
jmp 0x1002b538
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1002b525
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x1002b58c
mov dword [ebp - 4], ebx
jmp 0x1002b558
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x44], 0x7a888ada
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1002b54a
mov dword [ebp - 0x44], ebx
jmp 0x1002b582
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b57f
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jle 0x1002b562
dec dword [ebp - 0x14]
jns 0x1002b545
lea ecx, [ebp - 0xbc]
call fcn.1000ae31
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [ebp - 8], 0x477862f
mov dword [ebp - 0x24], 0xbb4f5ac3
mov dword [ebp - 0x20], 0xdfc9b996
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0xc], 0x2c6f7398
shr ecx, 2
mov dword [ebp - 0x20], 0xddc4ea3c
inc ecx
mov dword [ebp - 0x14], 0x64a3a207
mov dword [ebp - 0x30], ecx
mov dword [ebp - 8], 0xffffffe6
jmp 0x1002b6c6
mov dword [ebp - 4], 0x8f0d
xor ecx, ecx
mov dword [ebp - 0x14], 0xf9c77509
mov dword [ebp - 0x20], 0x315bfeb1
mov dword [ebp - 0x20], 0x456014ef
mov dword [ebp - 0x20], 0x32e88240
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 8]
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
cmp edx, eax
push 6
setg cl
xor edx, edx
cmp ecx, 0xffffffff
pop eax
setle dl
sub eax, edx
add eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x14]
jne 0x1002b631
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 8]
cmp eax, ecx
setl dl
mov dword [ebp - 0x20], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
cmp edx, dword [ebp - 0xc]
jne 0x1002b676
cmp dword [ebp - 4], ebx
jne 0x1002b676
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp eax, 0xda74
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0xf19
setge cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffff8
setle cl
sub ecx, dword [ebp - 8]
add ecx, 0xeb64
mov dword [ebp - 0x14], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffb
jg 0x1002b5e3
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], 0xf8f6a1c3
mov dword [ebp - 4], ebx
jmp 0x1002b71d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x84], 9
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1002b70c
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 8
jle 0x1002b884
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 8], ebx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], 3
jg 0x1002b877
mov dword [ebp - 0xc], 0x526d2e85
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], 0x83dc0e3e
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ebx
jmp 0x1002b853
mov dword [ebp - 4], 0x45625132
mov dword [ebp - 4], ebx
jmp 0x1002b833
mov dword [ebp - 0x20], ebx
jmp 0x1002b799
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x4c], 0x5e82aa9d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002b78b
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
je 0x1002b7b6
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x7c], ebx
je 0x1002b7c2
mov eax, edi
cmp dword [ebp - 0xc], ebx
jne 0x1002b7c4
mov eax, ebx
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x4c]
jl 0x1002b7ea
mov eax, edi
cmp dword [ebp - 0x34], ebx
jne 0x1002b7ec
mov eax, ebx
mov dword [ebp - 0x28], eax
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0xac]
neg edx
jne 0x1002b80e
mov eax, ebx
cmp dword [ebp - 0x4c], ebx
je 0x1002b810
mov eax, edi
mov dword [ebp - 0x28], eax
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setl dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x7c], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x1002b786
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b850
push 0xd17
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x1002b777
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x84]
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x1002b75b
push 0xfffffffffffffffd
pop eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 8
jg 0x1002b733
mov esi, ebx
cmp dword [ebp - 0x30], ebx
jbe 0x1002bb44
mov eax, dword [ebp - 0x1c]
sub dword [ebp - 0x38], eax
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x34], 0xa7084bc9
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x34], 0xffff
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jge 0x1002b96f
mov dword [ebp - 8], 0xb6182eac
mov dword [ebp - 8], ebx
jmp 0x1002b8de
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xcc], 0x38ecf54c
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1002b8cd
mov dword [ebp - 8], ebx
jmp 0x1002b8f9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe0], 5
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x1002b8e8
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ebx
jl 0x1002b930
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b92b
push 0xb9f
push ebx
push 0x19cc
push ebx
push 0x232f
push 0x22e3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec dword [ebp - 8]
jns 0x1002b907
mov dword [ebp - 8], ebx
jmp 0x1002b95d
mov dword [ebp - 0x34], 0x576c5165
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], 0xd68f9855
dec dword [ebp - 0x2c]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xc
jne 0x1002b935
dec dword [ebp - 0x14]
js 0x1002b8c1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, esi
and edx, 3
mov edx, dword [ebp + edx*4 - 0xa0]
call fcn.1000e9f9
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + edx], eax
add edx, 4
inc esi
mov dword [ebp - 0x1c], edx
mov eax, edx
cmp esi, dword [ebp - 0x30]
jb 0x1002b895
jmp 0x1002bb44
xor ebx, ebx
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], 0x751c
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0xc], 0x2f63069b
push 2
call fcn.1000adae
mov dword [ebp - 0x1c], ebx
jmp 0x1002b9e1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0x84cb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002b9ce
mov dword [ebp - 4], 0xfffffff3
cmp dword [ebp - 4], 0xd
jl 0x1002bb34
xor edi, edi
inc edi
mov dword [ebp - 8], 0xcde6bc04
mov dword [ebp - 0x34], 0xd5269945
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
add eax, 0x504d
cmp dword [ebp - 0x2c], eax
je 0x1002bab0
cmp dword [ebp - 0xc], ebx
je 0x1002bab0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0xc], ebx
jmp 0x1002baa9
mov dword [ebp - 0x1c], 5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 8]
cmp edx, eax
setl cl
imul eax, ecx, 0x4c9f
xor ecx, ecx
cmp eax, 0x503a
setge cl
cmp ecx, 0xfffc
sbb eax, eax
neg eax
add eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x1002ba3c
jmp 0x1002bb27
mov dword [ebp - 0x34], 0xa5798870
mov dword [ebp - 0x1c], ebx
jmp 0x1002bacd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], 0xc027682c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002babc
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 8], eax
jne 0x1002bb0e
mov ecx, dword [ebp - 8]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x3adfe1d
setge al
add eax, dword [ebp - 8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xc], 3
sbb eax, eax
neg eax
cmp eax, dword [ebp - 8]
je 0x1002bb0b
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x88]
xor edx, edx
mov eax, dword [ebp - 0x2c]
add ecx, 0xfff9
cmp ecx, eax
setne dl
mov dword [ebp - 0x34], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xd
jge 0x1002b9fb
lea ecx, [ebp - 0xd8]
call fcn.1000ae31
mov eax, dword [ebp + 8]
mov dword [eax], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret