Function at 0x424e7a
Capabilities:
Get memory capacity

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x1b0
push ebx
xor ebx, ebx
cmp dword [0x4d8080], ebx
jne 0x424e98
or eax, 0xffffffff
jmp 0x425e11
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 0x424fc4
push 0x4c1634
push dword [esi + 4]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x424fce
mov eax, dword [0x4d8084]
cmp eax, ebx
mov dword [ebp - 4], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
je 0x424f34
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp - 4]
push ecx
call eax
lea ecx, [ebp + 0x24]
call fcn.00443f5b
push 0x3f
lea eax, [ebp + 0x24]
push eax
push 1
call fcn.0041341d
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
add esp, 0xc
cmp eax, 2
mov esi, 0x4c162c
jne 0x424f63
mov esi, 0x4c161c
jmp 0x424f7e
cmp eax, 0xffffffff
jne 0x424f6f
mov esi, 0x4c1600
jmp 0x424f7e
cmp ecx, ebx
ja 0x424f7e
jb 0x424f79
cmp edx, ebx
ja 0x424f7e
mov esi, 0x4c15e8
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 0x4c15c0
push dword [edi]
mov dword [ebp + 0x2c], ecx
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x1c
lea ecx, [ebp + 0x24]
call fcn.0043db4f
jmp case.0x425325.114
cmp dword [ebp + 0x74], 1
jle 0x425a8c
dec dword [ebp + 0x74]
add esi, 4
push 0x4c15b4
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x424fef
or dword [ebp + 0x5c], 2
jmp 0x425a34
push 0x4c15a4
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x42500a
or dword [ebp + 0x5c], 1
jmp 0x425a34
push 0x4c1590
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425025
or dword [ebp + 0x5c], 4
jmp 0x425a34
push 0x4c1588
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425043
mov dword [ebp + 0x64], 5
jmp 0x425a34
push 0x4c1578
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x42505e
or dword [ebp + 0x5c], 0x10
jmp 0x425a34
push dword [esi]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push 2
pop edi
cmp eax, edi
jne 0x42507c
mov eax, dword [esi]
xor ecx, ecx
cmp word [eax], 0x2d
sete cl
mov eax, ecx
jmp 0x42507e
xor eax, eax
cmp eax, ebx
je case.0x425325.114
mov eax, dword [esi]
mov cx, word [eax + 2]
movzx eax, cx
cmp eax, 0x6d
jg 0x425319
je 0x4252d3
cmp eax, 0x62
jg 0x425224
je 0x425133
sub eax, 0x44
je 0x4252a6
sub eax, edi
je 0x42524d
sub eax, 0xc
je 0x4252a6
dec eax
je 0x4250e8
sub eax, 0xe
jne case.0x425325.114
cmp dword [ebp + 0x64], ebx
jne case.0x425325.114
mov dword [ebp + 0x64], 1
jmp 0x425a34
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.0x425325.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004aad60
test eax, eax
pop ecx
je case.0x425325.114
push ebx
push ebx
push dword [esi]
call fcn.004aad49
mov dword [ebp + 0x48], eax
jmp 0x425a2e
mov eax, dword [ebp + 0x50]
or eax, dword [ebp + 0x54]
je 0x425140
xor eax, eax
inc eax
jmp 0x425142
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.0x425325.114
add esi, 4
push 0x4c156c
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425189
mov dword [ebp + 0xc], 1
jmp 0x425a31
mov eax, dword [esi]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.004472b5
mov eax, dword [ebp + 0x2c]
movzx eax, word [eax]
cmp eax, 0x62
pop ecx
pop ecx
jg 0x425a85
je 0x42520c
sub eax, ebx
je 0x425a31
sub eax, 0x47
je 0x4251dc
sub eax, 4
je 0x4251fd
dec eax
dec eax
je 0x4251ee
sub eax, 7
jne 0x425a85
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x4251e2
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x50]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x54], ecx
jmp 0x4251f1
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x425203
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x50]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x425219
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 0x425a31
sub eax, 0x64
je 0x4252a6
dec eax
je 0x425291
dec eax
je 0x42524d
sub eax, 6
jne case.0x425325.114
cmp dword [ebp + 0x64], ebx
jne case.0x425325.114
mov dword [ebp + 0x64], 3
jmp 0x425a34
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.0x425325.114
cmp cx, 0x46
jne 0x42527e
mov dword [ebp + 8], 1
add esi, 4
push dword [esi]
call fcn.00412ae5
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x425a31
cmp dword [ebp + 0x64], ebx
jne case.0x425325.114
mov dword [ebp + 0x64], 4
jmp 0x425a34
xor eax, eax
cmp dword [ebp + 0x64], ebx
jne 0x425e0f
inc eax
cmp cx, 0x44
mov dword [ebp + 0x64], edi
jne 0x4252be
mov dword [ebp + 0x18], eax
cmp cx, 0x52
jne 0x425a34
mov dword [ebp + 0x18], eax
mov dword [ebp + 4], eax
jmp 0x425a34
xor eax, eax
cmp dword [ebp + 0x4c], 0xffffffff
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 4
setne cl
and eax, ecx
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.0x425325.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x30], eax
jmp 0x425a31
sub eax, 0x6e
cmp eax, 0xb
ja case.0x425325.114
jmp dword [eax*4 + 0x425e1a]
mov dword [ebp + 0x1c], 1
jmp 0x425a34
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.0x425325.114
add esi, 4
push 0x4c1560
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x42537f
or byte [ebp + 0x69], 1
jmp 0x425a31
push 0x4c1558
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x42539a
or byte [ebp + 0x69], 2
jmp 0x425a31
push 0x4c154c
push dword [esi]
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne case.0x425325.114
or byte [ebp + 0x69], 3
jmp 0x425a31
mov dword [ebp + 0x24], 1
jmp 0x425a34
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.0x425325.114
add esi, 4
push 0x4bdc78
push dword [esi]
jmp 0x4256a9
push 0x4c1544
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425420
test byte [ebp + 0x58], 1
jne case.0x425325.114
or dword [ebp + 0x58], 1
or dword [ebp + 0x68], 1
jmp 0x4256a3
push 0x4c153c
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425448
test byte [ebp + 0x58], 1
jne case.0x425325.114
or dword [ebp + 0x58], 1
and dword [ebp + 0x68], 0xfffffffe
jmp 0x4256a3
push 0x4c1534
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425470
test byte [ebp + 0x58], 2
jne case.0x425325.114
or dword [ebp + 0x58], 2
or dword [ebp + 0x68], 2
jmp 0x4256a3
push 0x4c152c
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425498
test byte [ebp + 0x58], 2
jne case.0x425325.114
or dword [ebp + 0x58], 2
and dword [ebp + 0x68], 0xfffffffd
jmp 0x4256a3
push 0x4c1520
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x4254c4
cmp dword [ebp + 0x64], 4
jne case.0x425325.114
or byte [ebp + 0x5a], 1
and byte [ebp + 0x6a], 0xfe
or dword [ebp + 0x5c], 8
jmp 0x4256a3
cmp dword [ebp + 0x64], 1
jne case.0x425325.114
push 0x4c1518
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425519
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.0x425325.114
or byte [ebp + 0x69], 0x20
mov dword [ebp + 8], 1
jmp 0x4256a3
push 0x4c150c
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425564
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.0x425325.114
or byte [ebp + 0x69], 0x10
mov dword [ebp + 8], 1
jmp 0x4256a3
push 0x4c1504
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x4255a8
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.0x425325.114
or byte [ebp + 0x69], 0x30
jmp 0x4256a3
push 0x4c14fc
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x4255f3
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.0x425325.114
or byte [ebp + 0x69], 0x11
jmp 0x4256a3
push 0x4c14f4
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x42563b
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.0x425325.114
or byte [ebp + 0x69], 0x21
jmp 0x4256a3
push 0x4c14e4
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425652
or byte [ebp + 0x6a], 2
jmp 0x4256a3
test byte [ebp + 0x68], 0xf0
jne case.0x425325.114
push 0x4c14dc
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425673
or dword [ebp + 0x68], 0x10
jmp 0x4256a3
push 0x4c14d4
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x42568a
or dword [ebp + 0x68], 0x20
jmp 0x4256a3
push 0x4c14cc
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne case.0x425325.114
or dword [ebp + 0x68], 0x30
push 0x4bdc78
push ebx
call fcn.004aaaae
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jne 0x4253f8
jmp 0x425a31
mov eax, dword [ebp + 0x34]
or eax, dword [ebp + 0x38]
je 0x4256cc
xor eax, eax
inc eax
jmp 0x4256ce
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.0x425325.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.004472b5
mov eax, dword [ebp + 0x2c]
movzx eax, word [eax]
cmp eax, 0x54
pop ecx
pop ecx
jg 0x4257dc
je 0x42579c
sub eax, ebx
je 0x425866
sub eax, 0x25
je 0x425745
sub eax, 0x22
je 0x4257ab
sub eax, 4
je 0x4257ca
dec eax
dec eax
jne 0x425a85
mov eax, dword [ebp + 0x34]
jmp 0x4257bb
cmp dword [ebp + 0x38], ebx
jg 0x425756
jl 0x425751
cmp dword [ebp + 0x34], ebx
ja 0x425756
xor ecx, ecx
inc ecx
jmp 0x425758
xor ecx, ecx
cmp dword [ebp + 0x38], ebx
jl 0x42576a
jg 0x425765
cmp dword [ebp + 0x34], 0x64
jb 0x42576a
xor eax, eax
inc eax
jmp 0x42576c
xor eax, eax
or eax, ecx
jne case.0x425325.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.004aa130
push ebx
push 0x64
push edx
push eax
call fcn.004aa080
jmp 0x42584e
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x4257b1
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 0x4257cd
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x425860
sub eax, 0x62
je 0x425853
sub eax, 5
je 0x42580f
sub eax, 4
je 0x42583d
dec eax
dec eax
je 0x425826
sub eax, 7
jne 0x425a85
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.004aa130
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.004aa130
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.004aa130
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.004aa130
mov dword [ebp + 0x38], edx
jmp 0x425863
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 0x425a31
jl 0x42587a
cmp dword [ebp + 0x34], ebx
jae 0x425a31
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 0x4258a0
jg 0x425a31
cmp eax, ebx
jae 0x425a31
push 0xb
jmp 0x425c3f
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.0x425325.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004aad60
test eax, eax
pop ecx
je case.0x425325.114
push ebx
push ebx
push dword [esi]
call fcn.004aad49
mov dword [ebp + 0x44], eax
jmp 0x425a2e
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.0x425325.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004aad60
test eax, eax
pop ecx
je case.0x425325.114
push ebx
push ebx
push dword [esi]
call fcn.004aad49
mov dword [ebp + 0x40], eax
jmp 0x425a2e
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.0x425325.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.0x425325.114
cmp word [eax + 2], bx
jne case.0x425325.114
mov al, byte [eax]
sub al, 0x30
mov byte [ebp + 0x63], al
jmp 0x425a31
xor eax, eax
inc eax
cmp dword [ebp + 0x64], eax
je 0x4259ab
cmp dword [ebp + 0x64], 4
jne 0x4259ad
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.0x425325.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x20], eax
jmp 0x425a31
xor eax, eax
cmp dword [ebp + 0x30], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 4
setne cl
and eax, ecx
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.0x425325.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004aad60
test eax, eax
pop ecx
je case.0x425325.114
push ebx
push ebx
push dword [esi]
call fcn.004aad49
mov dword [ebp + 0x4c], eax
add esp, 0xc
dec dword [ebp + 0x74]
cmp dword [ebp + 0x74], 1
jg 0x424fce
cmp dword [ebp + 0x64], 5
jne 0x425a8c
mov eax, dword [ebp + 0x5c]
shr eax, 2
xor ecx, ecx
inc ecx
not eax
and eax, ecx
test byte [ebp + 0x5c], cl
je 0x425a59
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x30]
cmp ecx, ebx
je case.0x425325.114
mov cx, word [ecx]
cmp cx, bx
je case.0x425325.114
push dword [ebp + 0x1c]
push eax
movzx eax, cx
push eax
call fcn.00413293
add esp, 0xc
jmp case.0x425325.114
push 0xa
jmp 0x425c3f
mov eax, dword [ebp + 0x64]
xor esi, esi
dec eax
mov dword [ebp + 0x2c], esi
mov ebx, 0x4d80e8
je 0x425bbe
dec eax
je 0x425b87
dec eax
je 0x425b36
dec eax
jne case.0x425325.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.0x425325.114
cmp dword [ebp + 0x58], 0
jne 0x425adc
test edi, edi
je 0x425aef
push dword [ebp + 0x68]
push dword [ebp + 0x58]
push edi
push esi
call fcn.00413916
add esp, 0x10
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x38], 0
jl 0x425b10
jg 0x425afd
cmp dword [ebp + 0x34], 0
jbe 0x425b10
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push edi
push esi
call fcn.00413aeb
add esp, 0x10
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x425e0f
cmp dword [ebp + 0x20], eax
je 0x425e0f
push dword [ebp + 0x20]
push edi
push esi
call fcn.0041d012
add esp, 0xc
jmp 0x425d2c
mov ecx, dword [ebp + 0x7c]
push 0x4bde90
call fcn.0044cddc
xor eax, eax
cmp dword [ebp + 0x4c], 0xffffffff
sete al
xor ecx, ecx
cmp dword [ebp + 0x30], esi
sete cl
test ecx, eax
je 0x425b6e
push dword [ebp]
push dword [ebp + 0x7c]
push dword [ebp + 0x24]
call fcn.0041341d
add esp, 0xc
jmp 0x425e0f
push dword [ebp + 0x5c]
push dword [ebp + 0x7c]
push dword [ebp + 0x30]
push dword [ebp + 0x4c]
call fcn.004135d7
add esp, 0x10
jmp 0x425e0f
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.0x425325.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.0041d2de
add esp, 0x18
jmp 0x425e0f
cmp dword [ebp + 0xc], esi
je 0x425bdc
cmp dword [ebp + 0x28], esi
jne 0x425bcf
xor eax, eax
jmp 0x425e0f
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x28]
call dword [0x4d8064]
push 0x4bca0c
push 0x4c14b4
mov ecx, ebx
call fcn.00443666
cmp byte [ebp + 0x63], 0
je 0x425c56
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 [0x4d8068]
test eax, eax
je 0x425c3d
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, ecx
xor edi, edi
or eax, edx
jne 0x425c2a
inc edi
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x425c37
xor eax, eax
inc eax
jmp 0x425c39
xor eax, eax
or eax, edi
je 0x425c45
push 0xc
pop eax
jmp 0x425e0f
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 0x425ccb
cmp dword [ebp + 0xc], esi
je 0x425cce
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x48]
push dword [ebp + 0x28]
call dword [0x4d8068]
test eax, eax
je 0x425cce
lea eax, [ebp - 0x144]
mov ecx, dword [eax]
xor edx, edx
or ecx, dword [eax + 4]
je 0x425c86
inc edx
mov ecx, dword [eax + 8]
xor esi, esi
or ecx, dword [eax + 0xc]
je 0x425c91
inc esi
mov cl, byte [eax + 0x18]
cmp cl, 5
je 0x425ca3
cmp cl, 0xf
je 0x425ca3
xor ecx, ecx
inc ecx
jmp 0x425ca5
xor ecx, ecx
and ecx, esi
test edx, ecx
jne 0x425cb7
add eax, 0x20
lea ecx, [ebp - 0x44]
cmp eax, ecx
jb 0x425c7c
jmp 0x425cce
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, 0x4d8d24
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, dword [ebp + 0x30]
test edi, edi
je 0x425cfe
push 0x4c14ac
push edi
call fcn.004aa43d
test eax, eax
pop ecx
pop ecx
jne 0x425cfe
call dword [0x4d8054]
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.0042496d
add esp, 0x24
push esi
mov dword [ebp + 0x10], eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test edi, edi
je 0x425d93
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
push edi
call esi
cmp eax, 2
jne 0x425d4a
xor eax, eax
cmp word [edi + 2], 0x3a
sete al
jmp 0x425d6b
push edi
call esi
cmp eax, 3
jne 0x425d69
lea eax, [edi + 2]
push 0x4bf938
push eax
call fcn.004aa43d
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x425d6b
xor eax, eax
test eax, eax
je 0x425d93
push edi
push 0x4c14b4
mov ecx, ebx
call fcn.00443666
test byte [ebp + 0x5c], 1
jne 0x425d93
push dword [ebp + 0x1c]
movzx eax, word [edi]
push 1
push eax
call fcn.00413293
add esp, 0xc
mov ebx, dword [ebp + 0x2c]
test bx, bx
je 0x425dce
cmp dword [ebp + 0x24], 0
jne 0x425dce
push 0xffffffffffffffff
push 0x4c14a8
lea ecx, [ebp + 0x18]
call fcn.0044cdaa
mov esi, dword [ebp + 0x7c]
lea eax, [ebp + 0x18]
push eax
mov ecx, esi
call fcn.0044ce0a
lea ecx, [ebp + 0x18]
call fcn.0043db4f
mov eax, dword [esi]
mov word [eax + 2], bx
jmp 0x425e0c
mov edi, dword [ebp + 0x7c]
push 0x42
mov ecx, edi
call fcn.00443fa0
test bx, bx
mov eax, dword [edi]
mov word [eax], 0x2a
je 0x425df1
cmp dword [ebp + 0x4c], 0
mov eax, 0x4c1498
jge 0x425df6
mov eax, 0x4bd214
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