Function at 0x42716b
Capabilities:
Get memory capacity

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x1b0
push ebx
xor ebx, ebx
cmp dword [0x4c0f7c], ebx
jne 0x427189
or eax, 0xffffffff
jmp 0x4280f0
xor eax, eax
or dword [ebp + 0x4c], 0xffffffff
push esi
push edi
mov dword [ebp + 0x34], ebx
mov esi, dword [ebp + 0x78]
lea edi, [ebp + 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
cmp dword [ebp + 0x74], 2
mov dword [ebp + 0x50], ebx
lea edi, [ebp + 0x54]
stosd dword es:[edi], eax
mov edi, dword [ebp + 0x7c]
mov byte [ebp + 0x63], al
mov eax, dword [edi]
mov ax, word [eax]
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x68], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x10], ebx
mov word [ebp], ax
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x1c], 0xfa0
jne 0x4272b5
push 0x4ab864
push dword [esi + 4]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x4272bf
mov eax, dword [0x4c0f80]
cmp eax, ebx
mov dword [ebp - 4], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
je 0x427225
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp - 4]
push ecx
call eax
lea ecx, [ebp + 0x24]
call fcn.0043dd7e
push 0x3f
lea eax, [ebp + 0x24]
push eax
push 1
call fcn.00411f51
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
add esp, 0xc
cmp eax, 2
mov esi, 0x4ab85c
jne 0x427254
mov esi, 0x4ab84c
jmp 0x42726f
cmp eax, 0xffffffff
jne 0x427260
mov esi, 0x4ab830
jmp 0x42726f
cmp ecx, ebx
ja 0x42726f
jb 0x42726a
cmp edx, ebx
ja 0x42726f
mov esi, 0x4ab818
movzx eax, dl
shrd edx, ecx, 8
push esi
push eax
movsx eax, dx
push eax
movzx eax, byte [ebp - 4]
push eax
mov eax, dword [ebp]
shr ecx, 8
mov ecx, dword [ebp - 4]
shrd ecx, eax, 8
shr eax, 8
movsx eax, cx
push eax
push 0x4ab7f0
push dword [edi]
mov dword [ebp + 0x2c], ecx
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x1c
lea ecx, [ebp + 0x24]
call fcn.00437e1a
jmp case.0x42760f.114
cmp dword [ebp + 0x74], 1
jle 0x427d6f
dec dword [ebp + 0x74]
add esi, 4
push 0x4ab7e4
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x4272e0
or dword [ebp + 0x5c], 2
jmp 0x427d17
push 0x4ab7d4
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x4272fb
or dword [ebp + 0x5c], 1
jmp 0x427d17
push 0x4ab7c0
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427316
or dword [ebp + 0x5c], 4
jmp 0x427d17
push 0x4ab7b8
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427334
mov dword [ebp + 0x64], 5
jmp 0x427d17
push 0x4ab7a8
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42734f
or dword [ebp + 0x5c], 0x10
jmp 0x427d17
push dword [esi]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push 2
pop edi
cmp eax, edi
jne 0x42736d
mov eax, dword [esi]
xor ecx, ecx
cmp word [eax], 0x2d
sete cl
mov eax, ecx
jmp 0x42736f
xor eax, eax
cmp eax, ebx
je case.0x42760f.114
mov eax, dword [esi]
mov cx, word [eax + 2]
movzx eax, cx
cmp eax, 0x6d
jg 0x427603
je 0x4275c8
cmp eax, 0x62
jg 0x427519
je 0x427424
sub eax, 0x44
je 0x42759b
sub eax, edi
je 0x427542
sub eax, 0xc
je 0x42759b
dec eax
je 0x4273d9
sub eax, 0xe
jne case.0x42760f.114
cmp dword [ebp + 0x64], ebx
jne case.0x42760f.114
mov dword [ebp + 0x64], 1
jmp 0x427d17
xor eax, eax
cmp dword [ebp + 0x48], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00493b76
test eax, eax
pop ecx
je case.0x42760f.114
push ebx
push ebx
push dword [esi]
call fcn.00493b5f
mov dword [ebp + 0x48], eax
jmp 0x427d11
mov eax, dword [ebp + 0x50]
or eax, dword [ebp + 0x54]
je 0x427431
xor eax, eax
inc eax
jmp 0x427433
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0xc], ebx
setne cl
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
or ecx, edx
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x42760f.114
add esi, 4
push 0x4ab79c
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42747a
mov dword [ebp + 0xc], 1
jmp 0x427d14
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x50]
push eax
push 0x4ab78c
push dword [esi]
mov dword [ebp + 0x2c], ebx
call fcn.00493933
movzx eax, word [ebp + 0x2c]
add esp, 0x10
cmp eax, 0x62
jg 0x427d68
je 0x427501
sub eax, ebx
je 0x427d14
sub eax, 0x47
je 0x4274d1
sub eax, 4
je 0x4274f2
dec eax
dec eax
je 0x4274e3
sub eax, 7
jne 0x427d68
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x4274d7
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x50]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x54], ecx
jmp 0x4274e6
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x4274f8
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x50]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x42750e
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], ecx
jmp 0x427d14
sub eax, 0x64
je 0x42759b
dec eax
je 0x427586
dec eax
je 0x427542
sub eax, 6
jne case.0x42760f.114
cmp dword [ebp + 0x64], ebx
jne case.0x42760f.114
mov dword [ebp + 0x64], 3
jmp 0x427d17
xor eax, eax
cmp dword [ebp + 0x28], ebx
setne al
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
or eax, edx
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or eax, edx
jne case.0x42760f.114
cmp cx, 0x46
jne 0x427573
mov dword [ebp + 8], 1
add esi, 4
push dword [esi]
call fcn.0041161a
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x427d14
cmp dword [ebp + 0x64], ebx
jne case.0x42760f.114
mov dword [ebp + 0x64], 4
jmp 0x427d17
xor eax, eax
cmp dword [ebp + 0x64], ebx
jne 0x4280ee
inc eax
cmp cx, 0x44
mov dword [ebp + 0x64], edi
jne 0x4275b3
mov dword [ebp + 0x18], eax
cmp cx, 0x52
jne 0x427d17
mov dword [ebp + 0x18], eax
mov dword [ebp + 4], eax
jmp 0x427d17
xor eax, eax
cmp dword [ebp + 0x4c], 0xffffffff
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x30], ebx
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x30], eax
jmp 0x427d14
sub eax, 0x6e
cmp eax, 0xb
ja case.0x42760f.114
jmp dword [eax*4 + 0x4280f7]
mov dword [ebp + 0x1c], 1
jmp 0x427d17
mov eax, dword [ebp + 0x68]
and eax, 0xf00
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
push 0x4ab780
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427669
or byte [ebp + 0x69], 1
jmp 0x427d14
push 0x4ab778
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427684
or byte [ebp + 0x69], 2
jmp 0x427d14
push 0x4ab76c
push dword [esi]
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne case.0x42760f.114
or byte [ebp + 0x69], 3
jmp 0x427d14
mov dword [ebp + 0x24], 1
jmp 0x427d17
xor eax, eax
cmp dword [ebp + 0x64], 4
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
push 0x4a7a20
push dword [esi]
jmp 0x427993
push 0x4ab764
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42770a
test byte [ebp + 0x58], 1
jne case.0x42760f.114
or dword [ebp + 0x58], 1
or dword [ebp + 0x68], 1
jmp 0x42798d
push 0x4ab75c
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427732
test byte [ebp + 0x58], 1
jne case.0x42760f.114
or dword [ebp + 0x58], 1
and dword [ebp + 0x68], 0xfffffffe
jmp 0x42798d
push 0x4ab754
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42775a
test byte [ebp + 0x58], 2
jne case.0x42760f.114
or dword [ebp + 0x58], 2
or dword [ebp + 0x68], 2
jmp 0x42798d
push 0x4ab74c
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427782
test byte [ebp + 0x58], 2
jne case.0x42760f.114
or dword [ebp + 0x58], 2
and dword [ebp + 0x68], 0xfffffffd
jmp 0x42798d
push 0x4ab740
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x4277ae
cmp dword [ebp + 0x64], 4
jne case.0x42760f.114
or byte [ebp + 0x5a], 1
and byte [ebp + 0x6a], 0xfe
or dword [ebp + 0x5c], 8
jmp 0x42798d
cmp dword [ebp + 0x64], 1
jne case.0x42760f.114
push 0x4ab738
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427803
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
and eax, 0xf000
neg eax
sbb eax, eax
and ecx, 0xf00
xor edx, edx
neg eax
cmp ecx, 0x300
setne dl
or eax, edx
jne case.0x42760f.114
or byte [ebp + 0x69], 0x20
mov dword [ebp + 8], 1
jmp 0x42798d
push 0x4ab72c
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42784e
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
and eax, 0xf000
neg eax
sbb eax, eax
and ecx, 0xf00
xor edx, edx
neg eax
cmp ecx, 0x300
setne dl
or eax, edx
jne case.0x42760f.114
or byte [ebp + 0x69], 0x10
mov dword [ebp + 8], 1
jmp 0x42798d
push 0x4ab724
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427892
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
and eax, 0xf000
neg eax
sbb eax, eax
and ecx, 0xf00
xor edx, edx
neg eax
cmp ecx, 0x300
setne dl
or eax, edx
jne case.0x42760f.114
or byte [ebp + 0x69], 0x30
jmp 0x42798d
push 0x4ab71c
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x4278dd
mov eax, dword [ebp + 0x68]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp + 0x68]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.0x42760f.114
or byte [ebp + 0x69], 0x11
jmp 0x42798d
push 0x4ab714
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427925
mov eax, dword [ebp + 0x68]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp + 0x68]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.0x42760f.114
or byte [ebp + 0x69], 0x21
jmp 0x42798d
push 0x4ab704
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42793c
or byte [ebp + 0x6a], 2
jmp 0x42798d
test byte [ebp + 0x68], 0xf0
jne case.0x42760f.114
push 0x4ab6fc
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x42795d
or dword [ebp + 0x68], 0x10
jmp 0x42798d
push 0x4ab6f4
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427974
or dword [ebp + 0x68], 0x20
jmp 0x42798d
push 0x4ab6ec
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne case.0x42760f.114
or dword [ebp + 0x68], 0x30
push 0x4a7a20
push ebx
call fcn.0049388e
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jne 0x4276e2
jmp 0x427d14
mov eax, dword [ebp + 0x34]
or eax, dword [ebp + 0x38]
je 0x4279b6
xor eax, eax
inc eax
jmp 0x4279b8
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x64], 4
setne cl
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
and ecx, edx
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x42760f.114
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x34]
push eax
add esi, 4
push 0x4ab6dc
push dword [esi]
mov dword [ebp + 0x2c], ebx
call fcn.00493933
movzx eax, word [ebp + 0x2c]
add esp, 0x10
cmp eax, 0x54
jg 0x427aca
je 0x427a8a
sub eax, ebx
je 0x427b54
sub eax, 0x25
je 0x427a33
sub eax, 0x22
je 0x427a99
sub eax, 4
je 0x427ab8
dec eax
dec eax
jne 0x427d68
mov eax, dword [ebp + 0x34]
jmp 0x427aa9
cmp dword [ebp + 0x38], ebx
jg 0x427a44
jl 0x427a3f
cmp dword [ebp + 0x34], ebx
ja 0x427a44
xor ecx, ecx
inc ecx
jmp 0x427a46
xor ecx, ecx
cmp dword [ebp + 0x38], ebx
jl 0x427a58
jg 0x427a53
cmp dword [ebp + 0x34], 0x64
jb 0x427a58
xor eax, eax
inc eax
jmp 0x427a5a
xor eax, eax
or eax, ecx
jne case.0x42760f.114
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalMemoryStatus]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push ebx
push dword [ebp - 0x18]
call fcn.00492f10
push ebx
push 0x64
push edx
push eax
call fcn.00492e60
jmp 0x427b3c
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x427a9f
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x34]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x38], ecx
jmp 0x427abb
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x427b4e
sub eax, 0x62
je 0x427b41
sub eax, 5
je 0x427afd
sub eax, 4
je 0x427b2b
dec eax
dec eax
je 0x427b14
sub eax, 7
jne 0x427d68
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.00492f10
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.00492f10
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.00492f10
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.00492f10
mov dword [ebp + 0x38], edx
jmp 0x427b51
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x34], eax
cmp dword [ebp + 0x38], ebx
jg 0x427d14
jl 0x427b68
cmp dword [ebp + 0x34], ebx
jae 0x427d14
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalMemoryStatus]
mov eax, dword [ebp + 0x34]
add eax, dword [ebp - 0x38]
adc dword [ebp + 0x38], ebx
mov dword [ebp + 0x34], eax
js 0x427b8e
jg 0x427d14
cmp eax, ebx
jae 0x427d14
push 0xb
jmp 0x427f1e
xor eax, eax
cmp dword [ebp + 0x44], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00493b76
test eax, eax
pop ecx
je case.0x42760f.114
push ebx
push ebx
push dword [esi]
call fcn.00493b5f
mov dword [ebp + 0x44], eax
jmp 0x427d11
xor eax, eax
cmp dword [ebp + 0x40], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00493b76
test eax, eax
pop ecx
je case.0x42760f.114
push ebx
push ebx
push dword [esi]
call fcn.00493b5f
mov dword [ebp + 0x40], eax
jmp 0x427d11
xor eax, eax
cmp byte [ebp + 0x63], al
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
xor edx, edx
add esi, 4
mov eax, dword [esi]
xor ecx, ecx
mov cx, word [eax]
mov dx, 0x38
cmp dx, cx
sbb edx, edx
neg edx
cmp cx, 0x31
sbb ecx, ecx
neg ecx
or edx, ecx
jne case.0x42760f.114
cmp word [eax + 2], bx
jne case.0x42760f.114
mov al, byte [eax]
sub al, 0x30
mov byte [ebp + 0x63], al
jmp 0x427d14
xor eax, eax
inc eax
cmp dword [ebp + 0x64], eax
je 0x427c99
cmp dword [ebp + 0x64], 4
jne 0x427c9b
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x20], ebx
setne cl
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x42760f.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x20], eax
jmp 0x427d14
xor eax, eax
cmp dword [ebp + 0x30], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x4c], 0xffffffff
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x42760f.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00493b76
test eax, eax
pop ecx
je case.0x42760f.114
push ebx
push ebx
push dword [esi]
call fcn.00493b5f
mov dword [ebp + 0x4c], eax
add esp, 0xc
dec dword [ebp + 0x74]
cmp dword [ebp + 0x74], 1
jg 0x4272bf
cmp dword [ebp + 0x64], 5
jne 0x427d6f
mov eax, dword [ebp + 0x5c]
shr eax, 2
xor ecx, ecx
inc ecx
not eax
and eax, ecx
test byte [ebp + 0x5c], cl
je 0x427d3c
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x30]
cmp ecx, ebx
je case.0x42760f.114
mov cx, word [ecx]
cmp cx, bx
je case.0x42760f.114
push dword [ebp + 0x1c]
push eax
movzx eax, cx
push eax
call fcn.00411dc7
add esp, 0xc
jmp case.0x42760f.114
push 0xa
jmp 0x427f1e
mov eax, dword [ebp + 0x64]
xor esi, esi
dec eax
mov dword [ebp + 0x2c], esi
mov ebx, 0x4c0fb8
je 0x427e9d
dec eax
je 0x427e66
dec eax
je 0x427e15
dec eax
jne case.0x42760f.114
mov esi, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x30]
xor eax, eax
cmp esi, 0xffffffff
sete al
xor ecx, ecx
test edi, edi
sete cl
test ecx, eax
jne case.0x42760f.114
cmp dword [ebp + 0x58], 0
je 0x427dce
push dword [ebp + 0x68]
push dword [ebp + 0x58]
push edi
push esi
call fcn.00412427
add esp, 0x10
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x38], 0
jl 0x427def
jg 0x427ddc
cmp dword [ebp + 0x34], 0
jbe 0x427def
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push edi
push esi
call fcn.004125f7
add esp, 0x10
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x4280ee
cmp dword [ebp + 0x20], eax
je 0x4280ee
push dword [ebp + 0x20]
push edi
push esi
call fcn.0041c303
add esp, 0xc
jmp 0x42800b
mov ecx, dword [ebp + 0x7c]
push 0x4a7c2c
call fcn.004464ff
xor eax, eax
cmp dword [ebp + 0x4c], 0xffffffff
sete al
xor ecx, ecx
cmp dword [ebp + 0x30], esi
sete cl
test ecx, eax
je 0x427e4d
push dword [ebp]
push dword [ebp + 0x7c]
push dword [ebp + 0x24]
call fcn.00411f51
add esp, 0xc
jmp 0x4280ee
push dword [ebp + 0x5c]
push dword [ebp + 0x7c]
push dword [ebp + 0x30]
push dword [ebp + 0x4c]
call fcn.0041210b
add esp, 0x10
jmp 0x4280ee
xor eax, eax
cmp dword [ebp + 0x30], esi
sete al
xor ecx, ecx
or eax, dword [ebp + 4]
cmp dword [ebp + 0x4c], 0xffffffff
sete cl
test ecx, eax
jne case.0x42760f.114
push dword [ebp + 0x5c]
push dword [ebp + 0x1c]
push dword [ebp + 4]
push dword [ebp + 0x18]
push dword [ebp + 0x30]
push dword [ebp + 0x4c]
call fcn.0041c5cf
add esp, 0x18
jmp 0x4280ee
cmp dword [ebp + 0xc], esi
je 0x427ebb
cmp dword [ebp + 0x28], esi
jne 0x427eae
xor eax, eax
jmp 0x4280ee
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x28]
call dword [0x4c0f60]
push 0x4a69d4
push 0x4ab6c4
mov ecx, ebx
call fcn.0043d658
cmp byte [ebp + 0x63], 0
je 0x427f35
movzx esi, byte [ebp + 0x63]
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x48]
shl esi, 5
push dword [ebp + 0x28]
lea esi, [ebp + esi - 0x164]
call dword [0x4c0f64]
test eax, eax
je 0x427f1c
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, ecx
xor edi, edi
or eax, edx
jne 0x427f09
inc edi
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x427f16
xor eax, eax
inc eax
jmp 0x427f18
xor eax, eax
or eax, edi
je 0x427f24
push 0xc
pop eax
jmp 0x4280ee
add dword [ebp + 0x50], ecx
mov eax, dword [esi + 8]
mov dword [ebp + 0x34], eax
adc dword [ebp + 0x54], edx
mov eax, dword [esi + 0xc]
jmp 0x427faa
cmp dword [ebp + 0xc], esi
je 0x427fad
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x48]
push dword [ebp + 0x28]
call dword [0x4c0f64]
test eax, eax
je 0x427fad
lea eax, [ebp - 0x144]
mov ecx, dword [eax]
xor edx, edx
or ecx, dword [eax + 4]
je 0x427f65
inc edx
mov ecx, dword [eax + 8]
xor esi, esi
or ecx, dword [eax + 0xc]
je 0x427f70
inc esi
mov cl, byte [eax + 0x18]
cmp cl, 5
je 0x427f82
cmp cl, 0xf
je 0x427f82
xor ecx, ecx
inc ecx
jmp 0x427f84
xor ecx, ecx
and ecx, esi
test edx, ecx
jne 0x427f96
add eax, 0x20
lea ecx, [ebp - 0x44]
cmp eax, ecx
jb 0x427f5b
jmp 0x427fad
mov ecx, dword [eax]
add dword [ebp + 0x50], ecx
mov ecx, dword [eax + 4]
adc dword [ebp + 0x54], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], eax
mov esi, 0x4c1b94
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, dword [ebp + 0x30]
test edi, edi
je 0x427fdd
push 0x4ab6bc
push edi
call fcn.0049321d
test eax, eax
pop ecx
pop ecx
jne 0x427fdd
call dword [0x4c0f50]
mov word [edi], ax
mov dword [ebp + 0x2c], eax
push dword [ebp + 0x5c]
lea eax, [ebp + 0x50]
push dword [ebp + 0x20]
push edi
push dword [ebp + 8]
push dword [ebp + 0x28]
push dword [ebp + 0x68]
push eax
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.00426c42
add esp, 0x24
push esi
mov dword [ebp + 0x10], eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test edi, edi
je 0x428072
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
push edi
call esi
cmp eax, 2
jne 0x428029
xor eax, eax
cmp word [edi + 2], 0x3a
sete al
jmp 0x42804a
push edi
call esi
cmp eax, 3
jne 0x428048
lea eax, [edi + 2]
push 0x4a96a4
push eax
call fcn.0049321d
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x42804a
xor eax, eax
test eax, eax
je 0x428072
push edi
push 0x4ab6c4
mov ecx, ebx
call fcn.0043d658
test byte [ebp + 0x5c], 1
jne 0x428072
push dword [ebp + 0x1c]
movzx eax, word [edi]
push 1
push eax
call fcn.00411dc7
add esp, 0xc
mov ebx, dword [ebp + 0x2c]
test bx, bx
je 0x4280ad
cmp dword [ebp + 0x24], 0
jne 0x4280ad
push 0xffffffffffffffff
push 0x4ab6b8
lea ecx, [ebp + 0x18]
call fcn.004464cd
mov esi, dword [ebp + 0x7c]
lea eax, [ebp + 0x18]
push eax
mov ecx, esi
call fcn.0044652d
lea ecx, [ebp + 0x18]
call fcn.00437e1a
mov eax, dword [esi]
mov word [eax + 2], bx
jmp 0x4280eb
mov edi, dword [ebp + 0x7c]
push 0x42
mov ecx, edi
call fcn.0043ddc3
test bx, bx
mov eax, dword [edi]
mov word [eax], 0x2a
je 0x4280d0
cmp dword [ebp + 0x4c], 0
mov eax, 0x4ab6a8
jge 0x4280d5
mov eax, 0x4a7164
movzx ecx, bx
push ecx
push dword [ebp + 0x4c]
push eax
mov eax, dword [edi]
inc eax
inc eax
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret