Function at 0x10042a55
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100685dc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
push esi
push edi
mov dword [esp + 0x10], 0xe8cff0ea
xor edi, edi
inc edi
mov dword [esp + 0xa4], edx
mov dword [esp + 0x24], edi
mov esi, ecx
mov dword [esp + 0x34], 0x856cd833
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], 0xf5d3cc11
mov dword [esp + 0x14], 0xd005
mov dword [esp + 0x10], 0xffffffeb
cmp dword [esp + 0x10], 6
push 0
mov dword [esp + 0x44], esi
mov dword [esp + 0xc8], 5
pop ebx
je 0x10042c65
push 5
pop esi
mov dword [esp + 0x20], 0x779c63c4
mov dword [esp + 0x2c], 7
mov dword [esp + 0x1c], 6
mov dword [esp + 0x30], esi
cmp dword [esp + 0x20], ebx
je 0x10042b0f
mov dword [esp + 0x2c], 0xc25b
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, edi
cmp dword [esp + 0x1c], ebx
jne 0x10042b11
mov eax, ebx
neg eax
je 0x10042b72
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x34]
cmp eax, 0xec58
setg cl
cmp ecx, dword [esp + 0x20]
jg 0x10042b35
mov eax, ebx
cmp dword [esp + 0x20], ebx
je 0x10042b37
mov eax, edi
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0xf7bd
jl 0x10042b4d
mov eax, edi
cmp dword [esp + 0x1c], ebx
jne 0x10042b4f
mov eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
sub eax, 0x335900b
je 0x10042b66
mov eax, edi
cmp dword [esp + 0x2c], ebx
jne 0x10042b68
mov eax, ebx
dec eax
cmp eax, 0xf2f37fc0
mov eax, edi
jbe 0x10042b74
mov eax, ebx
xor edx, edx
cmp eax, 9
setg dl
xor ecx, ecx
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
cmp edx, eax
setge cl
xor edx, edx
imul ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setl dl
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], 0xffffffee
jl 0x10042c52
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], ebx
jmp 0x10042bd7
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0xa8], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x10042bc8
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xa8]
cmp eax, ecx
mov eax, dword [esp + 0xa8]
setge dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [esp + 0x20]
push 0
setne bl
xor ecx, ecx
cmp ebx, eax
pop ebx
sete cl
xor eax, eax
imul ecx, dword [esp + 0xa8]
test ecx, ecx
setns al
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0x52b3
setne cl
mov dword [esp + 0x1c], ecx
dec dword [esp + 0x30]
cmp dword [esp + 0x30], 0xffffffee
jge 0x10042bbe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 6
jne 0x10042ad5
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
imul eax, dword [esp + 0x10]
cmp eax, 7
je 0x10042c83
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
sub eax, 0x3c1d
neg eax
sbb eax, eax
neg eax
inc eax
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setl dl
sub edx, dword [esp + 0xc]
neg edx
sbb edx, edx
inc edx
or eax, 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 0x71b35d56
mov dword [esp + 0x18], 0xf0ebf903
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x24], 0x1c
jmp 0x10042d6f
mov dword [esp + 0xc], 0xfffffff7
mov dword [esp + 0x18], 0x97515801
cmp dword [esp + 0xb8], 0xfffffff9
je 0x10042d34
mov eax, ebx
cmp dword [esp + 0xbc], ebx
je 0x10042d36
mov eax, edi
mov dword [esp + 0x18], eax
xor edx, edx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
test eax, eax
sets dl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
dec dword [esp + 0x24]
cmp dword [esp + 0x24], 0xffffffeb
jl 0x10042d0f
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 0x1afd
mov dword [esp + 0x18], 0xfffffffe
mov dword [esp + 0xc], 0x89ec0021
mov dword [esp + 0xc], ebx
jmp 0x10042da8
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x64], 0x826fbd10
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10042d98
cmp dword [esp + 0x10], edi
jne 0x10042dbd
mov eax, edi
cmp dword [esp + 0x18], ebx
jne 0x10042dbf
mov eax, ebx
cmp eax, 9
mov eax, dword [esp + 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
sub eax, edx
je 0x10042dfd
mov dword [esp + 0xc], ebx
jmp 0x10042dee
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x5c], 0x1649
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10042dde
dec dword [esp + 0x5c]
jmp 0x10042eac
mov dword [esp + 0x18], 0x9be9
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 2
jg 0x10042e94
push 5
pop esi
mov dword [esp + 0x34], 0xfffffff6
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x64]
cmp eax, esi
mov eax, dword [esp + 0x10]
setle cl
sub ecx, dword [esp + eax*4 + 0x64]
je 0x10042e70
mov eax, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + eax*4 + 0x64]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x64]
cmp ecx, eax
mov eax, dword [esp + 0x64]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setg cl
cmp ecx, dword [esp + eax*4 + 0x64]
jle 0x10042e70
mov eax, dword [esp + 0x10]
mov edx, edi
cmp dword [esp + eax*4 + 0x64], ebx
jne 0x10042e72
mov edx, ebx
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x34]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x10042e17
mov esi, dword [esp + 0x40]
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10042eac
push 0x8aa
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [esp + 0xc], 0x5e48d327
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10042ecf
push ebx
push ebx
push 0xfbc
push ebx
push edi
push ebx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov dword [esp + 0xc], ebx
jmp 0x10042ee3
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], ebx
jne 0x10042eea
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x19
jne 0x10042ed5
mov dword [esi], 0xffffffeb
jmp 0x10043903
mov dword [esp + 0x34], 0x779c63c4
lea ecx, [esp + 0xe4]
mov dword [esp + 0x14], 0xfb0b0297
or esi, 0xffffffff
mov dword [esp + 0x14], 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], 0xc0aa39ed
mov dword [esp + 0x14], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], 4
mov dword [esp + 0x14], 0x374b1b05
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], 0xee21afa9
push edi
call fcn.100166bf
mov dword [esp + 0x18], 0x25db2b05
mov dword [esp + 0xc], ebx
jmp 0x10042f75
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10042f5f
inc dword [esp + 0x18]
lea ecx, [esp + 0xe4]
call fcn.100167a4
mov dword [esp + 0x30], 7
mov dword [esp + 0x14], 0x47dfa860
mov dword [esp + 0x14], 0xfffffffb
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], 0x4ab274bf
mov dword [esp + 0x14], 0xfffffffc
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], 9
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], 0x95031536
mov dword [esp + 0x14], 0x2b21a35c
mov dword [esp + 0x14], 0x2a26f3f1
mov dword [esp + 0x14], 0xfffffff6
mov dword [esp + 0x14], 0x4a41637c
mov dword [esp + 0x14], 0xa32a17d0
mov dword [esp + 0x14], 0xfffffffd
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], 0x5d70512a
mov dword [esp + 0x18], 0x2450
cmp dword [esp + 0x18], 0xb75
jge 0x1004321d
lea eax, [esp + 0x3c]
push eax
push 0x10007724
call fcn.1004edeb
pop ecx
pop ecx
xor ecx, ecx
mov edi, ebx
inc ecx
mov dword [esp + 0x1c], edi
mov esi, ebx
mov dword [esp + 0x20], esi
cmp dword [esp + 0x3c], ecx
jl 0x10043079
mov eax, dword [esp + 0x3c]
cdq
idiv ecx
test edx, edx
cmove esi, eax
cmove edi, ecx
inc ecx
mov eax, ecx
imul eax, ecx
cmp eax, dword [esp + 0x3c]
jle 0x1004304f
push 5
pop eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edi
cmp edi, eax
jge 0x10043084
push 0x100079b8
call fcn.1004f7e7
pop ecx
lea eax, [esp + 0x3b]
mov byte [esp + 0x3b], 0x64
push eax
push esi
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
call fcn.10046af3
lea eax, [esp + 0x50]
mov dword [esp + 0x134], ebx
push eax
push edi
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
call fcn.10046b6f
mov byte [esp + 0x134], 2
cmp dword [esp + 0x50], 0
je 0x100430f7
push dword [esp + 0x50]
call fcn.1004f678
pop ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
push ecx
lea ecx, [esp + 0x80]
call fcn.100468f9
mov ebx, dword [esp + 0x7c]
xor edx, edx
and dword [esp + 0x24], edx
and dword [esp + 0xc], edx
mov ecx, dword [esp + 0x98]
mov dword [ebx], 0x6f696561
mov byte [ebx + 4], 0x75
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x100431a5
mov edi, dword [ecx]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x10], eax
mov eax, edx
cdq
idiv esi
cdq
idiv dword [esp + 0xc4]
inc dword [esp + 0x18]
mov al, byte [edx + ebx]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x2c]
mov byte [ebx + edx], al
mov eax, dword [esp + 0x24]
inc eax
cdq
idiv edi
mov eax, dword [esp + 0xc]
inc eax
mov ebx, edx
cdq
idiv esi
imul eax, ebx, 0xc
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xc], edx
mov eax, dword [eax + ecx]
mov dword [esp + 0x2c], eax
cmp byte [eax + edx], 0x64
je 0x10043199
lea eax, [edx + 1]
cdq
idiv esi
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x1004313d
test edi, edi
jle 0x100431e9
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
xor esi, esi
test eax, eax
jle 0x100431db
mov edi, dword [esp + 0x20]
mov eax, dword [ebx]
movsx eax, byte [eax + esi]
push eax
push 0x100077dc
call fcn.1004f4dc
inc esi
pop ecx
pop ecx
cmp esi, edi
jl 0x100431bb
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add ebx, 0xc
dec edi
mov dword [esp + 0x1c], edi
jne 0x100431b1
mov ebx, dword [esp + 0x7c]
push ebx
call fcn.1004f678
pop ecx
xor ebx, ebx
lea ecx, [esp + 0x98]
or esi, 0xffffffff
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x134], esi
call fcn.10041863
xor edi, edi
inc edi
mov dword [esp + 0x14], 0xfd66c4a8
lea ecx, [esp + 0xf0]
push 4
call fcn.100166bf
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], 8
mov dword [esp + 0xc], ebx
jmp 0x1004325b
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xf0]
mov dword [eax + ecx*4], 0x1448112d
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10043245
dec dword [esp + 0x18]
lea ecx, [esp + 0xf0]
dec dword [esp + 0x20]
call fcn.100167a4
mov dword [esp + 0x20], 6
mov dword [esp + 0x10], ebx
jmp 0x10043293
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xc8], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10043284
mov dword [esp + 0x10], ebx
jmp 0x100432b0
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x70], 0x1e87df2f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100432a0
mov dword [esp + 0x70], edi
cmp dword [esp + 0x70], ebx
jl 0x100432fe
mov dword [esp + 0xc], 0xc3eee2fd
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + eax*4 + 0xc8]
mov eax, dword [esp + 0x70]
mov dword [esp + eax*4 + 0xc8], ecx
mov dword [esp + 0xc], ebx
jmp 0x100432f1
mov dword [esp + 0x14], ebx
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff9
jle 0x100432e9
dec dword [esp + 0x70]
jns 0x100432c1
push 5
pop eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 0xfffffffc
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], ebx
jmp 0x1004332e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xfc], 2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1004331b
mov dword [esp + 0x10], ebx
jmp 0x1004334a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xe0], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1004333b
mov dword [esp + 0x24], ebx
jmp 0x10043596
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], 8
mov dword [esp + 0x14], 0xfffffff6
mov dword [esp + 0x14], 0x1720d700
mov dword [esp + 0x14], 0xdbc1c234
mov dword [esp + 0x14], 0x722abac8
mov dword [esp + 0x14], 0x4c7ba3f3
mov dword [esp + 0x14], 0x29a2a67f
mov dword [esp + 0x14], 0x83acdd71
mov dword [esp + 0x14], 0xa5659cde
mov dword [esp + 0x18], 0xfffffff7
mov dword [esp + 0xc], ebx
jmp 0x100433c3
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x60], 0xd2e8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x100433b3
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov eax, dword [esp + 0x60]
cmp eax, 0x7dcd66a0
mov eax, dword [esp + 0x24]
setg cl
xor edx, edx
cmp eax, ecx
setg dl
mov dword [esp + 0xfc], edx
neg edx
cmp edx, 0xfffffff7
je 0x10043557
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], 0xb79ae4f7
mov dword [esp + 0x14], 0x213072c0
mov dword [esp + 0x14], 0x4b15d3e9
mov dword [esp + 0x14], edi
mov dword [esp + 0x14], 0x24b4
cmp dword [esp + 0x14], 0x589
jge 0x10043521
lea eax, [esp + 0x44]
push eax
push 0x10007724
call fcn.1004edeb
pop ecx
pop ecx
lea eax, [esp + 0x3a]
mov byte [esp + 0x3a], bl
push eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd4]
inc eax
push eax
call fcn.100413da
mov edi, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
test edi, edi
jle 0x10043512
mov eax, edi
xor ebx, ebx
shr eax, 5
mov ecx, edi
shl eax, 2
and ecx, 0x1f
inc ebx
mov dword [esp + 0x18], eax
shl ebx, cl
lea eax, [esp + 0x88]
push eax
push 0x10007724
call fcn.1004edeb
mov edx, dword [esp + 0xd8]
xor eax, eax
pop ecx
pop ecx
mov ecx, dword [esp + 0x88]
inc eax
mov esi, ecx
and ecx, 0x1f
shr esi, 5
shl eax, cl
mov ecx, dword [esp + 0x18]
or dword [edx + esi*4], eax
mov eax, dword [esp + 0xd0]
test dword [eax + ecx], ebx
je 0x100434f2
push edi
push 0x10007740
call fcn.1004f4dc
mov eax, dword [esp + 0xd8]
dec edi
pop ecx
mov edx, edi
xor ebx, ebx
pop ecx
shr edx, 5
mov ecx, edi
shl edx, 2
and ecx, 0x1f
inc ebx
mov dword [esp + 0x18], edx
shl ebx, cl
test dword [eax + edx], ebx
jne 0x100434c2
push 0x1000768d
call fcn.1004f7e7
mov eax, dword [esp + 0x10]
inc eax
pop ecx
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x44]
jl 0x10043480
xor ebx, ebx
lea ecx, [esp + 0xd0]
call fcn.1004143b
xor edi, edi
inc edi
mov dword [esp + 0x14], 0xfffffffb
mov dword [esp + 0x18], 0x6a1c
mov dword [esp + 0xc], ebx
jmp 0x10043546
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x114], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10043537
dec dword [esp + 0x1c]
dec dword [esp + 0x18]
jmp 0x1004357f
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ebx
jmp 0x10043574
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x11c], 0xe2efe8e6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10043561
inc dword [esp + 0x18]
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10043592
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
dec dword [esp + 0x24]
cmp dword [esp + 0x24], 0xffffffe5
jge 0x10043359
cmp dword [esp + 0x34], ebx
je 0x100435bf
mov dword [esp + 0x30], 0xc25b
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, edi
cmp dword [esp + 0x20], ebx
jne 0x100435c1
mov eax, ebx
neg eax
mov ebx, dword [ebp + 8]
je 0x1004362a
mov edx, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [ebx]
mov eax, dword [edx]
cmp eax, 0xec58
setg cl
cmp ecx, dword [esp + 0x34]
jg 0x100435ea
cmp dword [esp + 0x34], 0
jne 0x100435ea
xor eax, eax
jmp 0x100435ec
mov eax, edi
mov dword [edx], eax
cmp eax, 0xf7bd
jl 0x10043600
cmp dword [esp + 0x20], 0
je 0x10043600
mov eax, edi
jmp 0x10043602
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
sub eax, 0x335900b
je 0x1004361c
cmp dword [esp + 0x30], 0
je 0x1004361c
mov eax, edi
jmp 0x1004361e
xor eax, eax
dec eax
cmp eax, 0xf2f37fc0
ja 0x1004362a
mov eax, edi
jmp 0x1004362c
xor eax, eax
mov esi, dword [esp + 0x40]
xor ecx, ecx
cmp eax, 9
setg cl
xor edx, edx
mov eax, dword [esi]
add ecx, eax
mov eax, dword [esp + 0x34]
cmp ecx, eax
setge dl
imul edx, dword [esi]
mov dword [ebx], edx
xor edx, edx
mov ecx, dword [esi]
mov eax, dword [ebx]
cmp eax, ecx
mov ecx, dword [esp + 0xa4]
setl dl
xor ebx, ebx
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x2c], 0xffffffee
jl 0x10043901
push 5
pop esi
mov dword [esp + 0x10], 0x47df
mov dword [esp + 0x18], 0xac0faab3
mov dword [esp + 0x14], 0xffffffff
inc dword [esp + 0x10]
mov dword [esp + 0x10], 0xffffffee
jmp 0x1004376b
mov dword [esp + 0xc], 0x9ecf
mov ecx, 0xa4ccfd66
mov dword [esp + 0x14], 0x5610a143
mov dword [esp + 0x20], 0x5950
mov dword [esp + 0x18], 8
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0xc]
mov ecx, 0x13b2
setne dl
sub ecx, edx
sub ecx, 0xa17d0b0a
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0xc]
setle dl
xor ecx, ecx
cmp eax, edx
setge cl
add ecx, 7
jne 0x10043713
mov eax, ebx
cmp dword [esp + 0xc], ebx
je 0x10043715
mov eax, edi
mov dword [esp + 0x18], eax
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp eax, edi
setl cl
sub ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x9b780f88
setne al
sub eax, dword [esp + 0x10]
cmp eax, edi
jne 0x1004374a
cmp dword [esp + 0x14], ebx
je 0x1004374e
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
cmp esi, eax
mov eax, dword [esp + 0x10]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
mov dword [esp + 0x18], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x30
jle 0x100436a5
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], 0x488f4f3
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], 0x1b9c6fec
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x100437b4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x48], 0x6d44
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100437a4
mov dword [esp + 0x10], ebx
jmp 0x100437d4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x108], 0x17ca4e86
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100437c1
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x20], 0x19f8
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xfa2e
sub eax, 0xe8a28d88
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x14], 0x965da1f7
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x66ba0539
setl cl
sub ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x20], 0x81f13d46
mov eax, dword [esp + 0x4c]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x10043882
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x8c], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10043873
mov eax, dword [esp + 0x30]
xor edx, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
cmp eax, ecx
mov eax, dword [esp + 0x8c]
setge dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [esp + 0x34]
push 0
setne bl
xor ecx, ecx
cmp ebx, eax
pop ebx
sete cl
xor eax, eax
imul ecx, dword [esp + 0x8c]
test ecx, ecx
setns al
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cmp eax, 0x52b3
setne cl
mov dword [esp + 0x14], ecx
dec dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0xffffffee
jge 0x1004367c
mov esi, dword [esp + 0x40]
inc dword [esi]
cmp dword [esi], 6
jne 0x10042ef5
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret