Function at 0x1012c040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1031e10d
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [0x1060b5e0]
cmp eax, dword [ecx + 0x68]
jne 0x1012cd29
mov eax, dword fs:[0x2c]
mov ecx, dword [0x104c14e0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x106110a8]
cmp eax, dword [ecx + 4]
jg 0x1012cd4b
mov eax, dword [0x1060b5e0]
cmp dword [eax + 0xaa8], 0
je 0x1012c184
mov edi, dword [0x1060b254]
test edi, edi
je 0x1012c184
cmp dword [0x1060b258], 0
je 0x1012c184
cmp byte [0x104b12c0], 0
jne 0x1012c137
mov byte [0x104b12c0], 1
xor esi, esi
nop
xor edx, edx
mov ebx, esi
xor edx, dword [0x104b12d4]
xor ebx, dword [0x104b12d0]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor cl, byte [esi + 0x104b12c1]
mov byte [esi + 0x104b12c1], cl
inc esi
cmp esi, 0xe
jb 0x1012c0e0
push ecx
push 0x104b12ce
push 0x104b12c1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [0x1060b258]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov esi, eax
call fcn.10019dd0
test esi, esi
je 0x1012c184
cmp byte [esi + 0xd], 0
jne 0x1012cd29
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
test al, al
jne 0x1012cd29
mov eax, dword [0x1060b5e0]
mov eax, dword [eax + 0x6ef8]
cmp byte [eax + 0x184], 0
jne 0x1012cd29
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1012cd29
cmp byte [0x1060fbd0], 0
jne 0x1012cd29
mov eax, dword [0x106111dc]
mov ecx, dword [0x106111e0]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
je 0x1012cd29
mov dword [ebp - 0x3c], 0xff
mov dword [ebp - 0x38], 0
nop word [eax + eax]
mov esi, dword [eax]
lea edx, [ebp - 0x38]
mov ecx, dword [esi + 0x1c]
lea edi, [esi + 0x1c]
test ecx, ecx
lea eax, [ebp - 0x3c]
cmovns edx, edi
cmp ecx, 0xff
cmovle eax, edx
mov ecx, dword [eax]
mov dword [edi], ecx
test ecx, ecx
je 0x1012cd01
cmp byte [esi + 0x22], 0
je 0x1012ccaa
cmp byte [0x1060f104], 0
je case.0x1012ccb2.0
cmp byte [0x1060f03c], 0
je case.0x1012ccb2.0
mov dword [esi + 0x18], 2
test ecx, ecx
jle case.default.0x1012ccb2
mov eax, dword [0x1060b8d0]
cmp byte [ecx + eax + 4], 0
je 0x1012c275
cmp byte [ecx + eax + 0x104], 0
jne 0x1012c275
mov al, 1
jmp 0x1012c277
xor al, al
test al, al
je case.default.0x1012ccb2
cmp byte [0x104ac980], 0
jne 0x1012c40f
mov edi, dword [0x104ac988]
mov ebx, dword [0x104ac98c]
xor edi, 0x1de26cd5
xor ebx, 0xd28f2c5
mov byte [0x104ac980], 1
mov eax, edi
mov ecx, ebx
shld ecx, eax, 0xd
xor ebx, ecx
shl eax, 0xd
xor edi, eax
mov ecx, ebx
mov edx, edi
shrd edx, ecx, 7
shr ecx, 7
xor edx, edi
xor ecx, ebx
mov edi, dword [0x104ac98c]
mov eax, edx
xor edi, 0xd28f2c5
shld ecx, eax, 0x11
mov ecx, edi
shl eax, 0x11
xor al, byte [0x104ac981]
xor al, dl
mov edx, dword [0x104ac988]
mov byte [0x104ac981], al
xor edx, 0x1de26cd4
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
mov edx, dword [0x104ac988]
xor ecx, edi
mov edi, dword [0x104ac98c]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd7
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104ac982]
xor al, bl
mov byte [0x104ac982], al
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
xor ebx, edx
shr ecx, 7
mov edx, dword [0x104ac988]
xor ecx, edi
mov edi, dword [0x104ac98c]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd6
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104ac983]
xor al, bl
mov byte [0x104ac983], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ecx, edi
xor ebx, edx
mov edi, dword [0x104ac98c]
mov eax, ebx
shld ecx, eax, 0x11
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104ac984]
xor al, bl
mov ebx, dword [0x104ac988]
mov byte [0x104ac984], al
xor ebx, 0x1de26cd1
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor ebx, eax
mov ecx, edi
mov edx, ebx
shrd edx, ecx, 7
shr ecx, 7
xor edx, ebx
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [0x104ac985]
xor al, dl
mov byte [0x104ac985], al
push ecx
push 0x104ac985
push 0x104ac981
lea ecx, [ebp - 0x28]
call fcn.1001a620
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
cmovae ecx, ebx
mov edi, ecx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1012c434
sub edi, edx
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x1012c447
mov eax, dword [esi]
mov edx, dword [esi + 0x10]
push edi
push ecx
mov ecx, eax
call fcn.10071120
mov byte [ebp - 0x29], al
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1012c48c
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x1012c482
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012cd45
push ecx
push ebx
call fcn.102bb95a
add esp, 8
cmp byte [ebp - 0x29], 0
je 0x1012c4bc
mov cl, byte [esi + 0x20]
test cl, cl
sete al
mov byte [esi + 0x20], al
test cl, cl
jne case.default.0x1012ccb2
mov byte [0x1060f170], cl
mov byte [0x1060f14c], cl
mov byte [0x1060f194], cl
jmp case.default.0x1012ccb2
cmp byte [0x104add70], 0
jne 0x1012c698
mov edi, dword [0x104add78]
mov ebx, dword [0x104add7c]
xor edi, 0x1de26cd5
xor ebx, 0xd28f2c5
mov byte [0x104add70], 1
mov eax, edi
mov ecx, ebx
shld ecx, eax, 0xd
xor ebx, ecx
shl eax, 0xd
xor edi, eax
mov ecx, ebx
mov edx, edi
shrd edx, ecx, 7
shr ecx, 7
xor edx, edi
xor ecx, ebx
mov edi, dword [0x104add7c]
mov eax, edx
xor edi, 0xd28f2c5
shld ecx, eax, 0x11
mov ecx, edi
shl eax, 0x11
xor al, byte [0x104add71]
xor al, dl
mov edx, dword [0x104add78]
mov byte [0x104add71], al
xor edx, 0x1de26cd4
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
mov edx, dword [0x104add78]
xor ecx, edi
mov edi, dword [0x104add7c]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd7
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104add72]
xor al, bl
mov byte [0x104add72], al
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
xor ebx, edx
shr ecx, 7
mov edx, dword [0x104add78]
xor ecx, edi
mov edi, dword [0x104add7c]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd6
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104add73]
xor al, bl
mov byte [0x104add73], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ecx, edi
xor ebx, edx
mov edx, dword [0x104add78]
mov eax, ebx
shld ecx, eax, 0x11
mov edi, dword [0x104add7c]
xor edx, 0x1de26cd1
shl eax, 0x11
xor edi, 0xd28f2c5
xor al, byte [0x104add74]
mov ecx, edi
xor al, bl
mov byte [0x104add74], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
xor ecx, edi
mov eax, ebx
mov edi, dword [0x104add7c]
shld ecx, eax, 0x11
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104add75]
xor al, bl
mov ebx, dword [0x104add78]
mov byte [0x104add75], al
xor ebx, 0x1de26cd0
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor ebx, eax
mov ecx, edi
mov edx, ebx
shrd edx, ecx, 7
shr ecx, 7
xor edx, ebx
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [0x104add76]
xor al, dl
mov byte [0x104add76], al
push ecx
push 0x104add76
push 0x104add71
lea ecx, [ebp - 0x28]
call fcn.1001a620
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
cmovae ecx, ebx
mov edi, ecx
lea edx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x1012c6c0
sub edi, edx
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x1012c6d3
mov eax, dword [esi]
mov edx, dword [esi + 0x10]
push edi
push ecx
mov ecx, eax
call fcn.10071120
mov byte [ebp - 0x29], al
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1012c718
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x1012c70e
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012cd45
push ecx
push ebx
call fcn.102bb95a
add esp, 8
cmp byte [ebp - 0x29], 0
je 0x1012c748
mov cl, byte [esi + 0x20]
test cl, cl
sete al
mov byte [esi + 0x20], al
test cl, cl
jne case.default.0x1012ccb2
mov byte [0x1060f170], cl
mov byte [0x1060f128], cl
mov byte [0x1060f194], cl
jmp case.default.0x1012ccb2
cmp byte [0x104b0f40], 0
jne 0x1012c8d8
mov edi, dword [0x104b0f48]
mov ebx, dword [0x104b0f4c]
xor edi, 0x1de26cd5
xor ebx, 0xd28f2c5
mov byte [0x104b0f40], 1
mov eax, edi
mov ecx, ebx
shld ecx, eax, 0xd
xor ebx, ecx
shl eax, 0xd
xor edi, eax
mov ecx, ebx
mov edx, edi
shrd edx, ecx, 7
shr ecx, 7
xor edx, edi
xor ecx, ebx
mov edi, dword [0x104b0f4c]
mov eax, edx
xor edi, 0xd28f2c5
shld ecx, eax, 0x11
mov ecx, edi
shl eax, 0x11
xor al, byte [0x104b0f41]
xor al, dl
mov edx, dword [0x104b0f48]
mov byte [0x104b0f41], al
xor edx, 0x1de26cd4
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
mov edx, dword [0x104b0f48]
xor ecx, edi
mov edi, dword [0x104b0f4c]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd7
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104b0f42]
xor al, bl
mov byte [0x104b0f42], al
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
xor ebx, edx
shr ecx, 7
mov edx, dword [0x104b0f48]
xor ecx, edi
mov edi, dword [0x104b0f4c]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd6
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104b0f43]
xor al, bl
mov byte [0x104b0f43], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ecx, edi
xor ebx, edx
mov edi, dword [0x104b0f4c]
mov eax, ebx
shld ecx, eax, 0x11
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104b0f44]
xor al, bl
mov ebx, dword [0x104b0f48]
mov byte [0x104b0f44], al
xor ebx, 0x1de26cd1
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor ebx, eax
mov ecx, edi
mov edx, ebx
shrd edx, ecx, 7
shr ecx, 7
xor edx, ebx
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b0f45]
xor al, dl
mov byte [0x104b0f45], al
push ecx
push 0x104b0f45
push 0x104b0f41
lea ecx, [ebp - 0x28]
call fcn.1001a620
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
cmovae ecx, ebx
mov edi, ecx
lea edx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x1012c900
sub edi, edx
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x1012c913
mov eax, dword [esi]
mov edx, dword [esi + 0x10]
push edi
push ecx
mov ecx, eax
call fcn.10071120
mov byte [ebp - 0x29], al
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1012c958
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x1012c94e
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012cd45
push ecx
push ebx
call fcn.102bb95a
add esp, 8
cmp byte [ebp - 0x29], 0
je 0x1012c988
mov cl, byte [esi + 0x20]
test cl, cl
sete al
mov byte [esi + 0x20], al
test cl, cl
jne case.default.0x1012ccb2
mov byte [0x1060f128], cl
mov byte [0x1060f14c], cl
mov byte [0x1060f194], cl
jmp case.default.0x1012ccb2
cmp byte [0x104af270], 0
jne 0x1012cbfc
mov edi, dword [0x104af280]
mov ebx, dword [0x104af284]
xor edi, 0x1de26cd5
xor ebx, 0xd28f2c5
mov byte [0x104af270], 1
mov eax, edi
mov ecx, ebx
shld ecx, eax, 0xd
xor ebx, ecx
shl eax, 0xd
xor edi, eax
mov ecx, ebx
mov edx, edi
shrd edx, ecx, 7
shr ecx, 7
xor edx, edi
xor ecx, ebx
mov edi, dword [0x104af284]
mov eax, edx
xor edi, 0xd28f2c5
shld ecx, eax, 0x11
mov ecx, edi
shl eax, 0x11
xor al, byte [0x104af271]
xor al, dl
mov edx, dword [0x104af280]
mov byte [0x104af271], al
xor edx, 0x1de26cd4
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
mov edx, dword [0x104af280]
xor ecx, edi
mov edi, dword [0x104af284]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd7
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104af272]
xor al, bl
mov byte [0x104af272], al
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
xor ebx, edx
shr ecx, 7
mov edx, dword [0x104af280]
xor ecx, edi
mov edi, dword [0x104af284]
mov eax, ebx
shld ecx, eax, 0x11
xor edx, 0x1de26cd6
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104af273]
xor al, bl
mov byte [0x104af273], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ecx, edi
xor ebx, edx
mov edx, dword [0x104af280]
mov eax, ebx
shld ecx, eax, 0x11
mov edi, dword [0x104af284]
xor edx, 0x1de26cd1
shl eax, 0x11
xor edi, 0xd28f2c5
xor al, byte [0x104af274]
mov ecx, edi
xor al, bl
mov byte [0x104af274], al
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
xor ecx, edi
mov edx, dword [0x104af280]
mov edi, dword [0x104af284]
mov eax, ebx
shld ecx, eax, 0x11
xor edi, 0xd28f2c5
xor edx, 0x1de26cd0
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104af275]
xor al, bl
mov byte [0x104af275], al
mov eax, edx
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
shr ecx, 7
xor ebx, edx
mov edx, dword [0x104af280]
xor ecx, edi
mov edi, dword [0x104af284]
mov eax, ebx
shld ecx, eax, 0x11
xor edi, 0xd28f2c5
xor edx, 0x1de26cd3
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104af276]
xor al, bl
mov byte [0x104af276], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov ebx, edx
shrd ebx, ecx, 7
xor ebx, edx
shr ecx, 7
xor ecx, edi
mov eax, ebx
mov edi, dword [0x104af284]
shld ecx, eax, 0x11
xor edi, 0xd28f2c5
shl eax, 0x11
mov ecx, edi
xor al, byte [0x104af277]
xor al, bl
mov ebx, dword [0x104af280]
xor ebx, 0x1de26cd2
mov byte [0x104af277], al
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor ebx, eax
mov ecx, edi
mov edx, ebx
shrd edx, ecx, 7
shr ecx, 7
xor edx, ebx
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [0x104af278]
xor al, dl
mov byte [0x104af278], al
push ecx
push 0x104af278
push 0x104af271
lea ecx, [ebp - 0x28]
call fcn.1001a620
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
cmovae ecx, ebx
mov edi, ecx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1012cc21
sub edi, edx
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x1012cc34
mov eax, dword [esi]
mov edx, dword [esi + 0x10]
push edi
push ecx
mov ecx, eax
call fcn.10071120
mov byte [ebp - 0x29], al
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1012cc79
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x1012cc6f
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012cd45
push ecx
push ebx
call fcn.102bb95a
add esp, 8
cmp byte [ebp - 0x29], 0
je case.default.0x1012ccb2
mov cl, byte [esi + 0x20]
test cl, cl
sete al
mov byte [esi + 0x20], al
test cl, cl
jne case.default.0x1012ccb2
mov byte [0x1060f128], cl
mov byte [0x1060f170], cl
mov byte [0x1060f14c], cl
jmp case.default.0x1012ccb2
mov eax, dword [esi + 0x18]
cmp eax, 4
ja case.default.0x1012ccb2
jmp dword [eax*4 + 0x1012cd8c]
mov eax, dword [0x1060b5e0]
mov al, byte [ecx + eax + 0x7869]
mov byte [esi + 0x20], al
jmp case.default.0x1012ccb2
mov eax, dword [0x1060b8d0]
cmp byte [ecx + eax + 4], 0
je case.default.0x1012ccb2
cmp byte [ecx + eax + 0x104], 0
jne case.default.0x1012ccb2
cmp byte [esi + 0x20], 0
sete al
mov byte [esi + 0x20], al
jmp case.default.0x1012ccb2
mov eax, dword [0x1060b5e0]
cmp byte [ecx + eax + 0x7869], 0
sete al
mov byte [esi + 0x20], al
jmp case.default.0x1012ccb2
mov eax, dword [esi + 0x18]
test eax, eax
je case.0x1012ccb2.0
cmp eax, 4
jne case.default.0x1012ccb2
mov byte [esi + 0x20], 1
jmp case.default.0x1012ccb2
mov byte [esi + 0x20], 0
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [ebp - 0x34]
jne 0x1012c200
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push 0x106110a8
call fcn.102bba07
add esp, 4
cmp dword [0x106110a8], 0xffffffff
jne 0x1012c0a0
push 0x10330600
mov byte [0x106110bd], 0
call fcn.102bbda4
add esp, 4
push 0x106110a8
call fcn.102bb9b6
add esp, 4
jmp 0x1012c0a0