Function at 0x44c4d0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x55ffd8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov ecx, dword [ebp + 0x80]
call fcn.004ccdc0
mov ecx, dword [ebp + 0x80]
lea eax, [esp + 0x28]
xor ebx, ebx
push eax
push ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
call fcn.004c56f0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x9c], edx
mov edx, dword [esp + 0x30]
mov dword [ebp + 0xa0], ecx
mov ecx, dword [ebp + 0x80]
add esp, 8
mov dword [ebp + 0xa4], eax
mov dword [ebp + 0x98], edx
call fcn.004ccdc0
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ecx
jle 0x44c621
push ecx
mov ecx, dword [ebp + 0x80]
call fcn.004ccd90
mov edi, dword [eax + 0x54]
mov esi, 0x5b6224
mov ecx, edi
mov bl, byte [ecx]
mov dl, bl
cmp bl, byte [esi]
jne 0x44c59e
test dl, dl
je 0x44c59a
mov bl, byte [ecx + 1]
mov dl, bl
cmp bl, byte [esi + 1]
jne 0x44c59e
add ecx, 2
add esi, 2
test dl, dl
jne 0x44c57a
xor ecx, ecx
jmp 0x44c5a3
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x44c5f6
mov esi, 0x5b6304
mov ecx, edi
mov bl, byte [ecx]
mov dl, bl
cmp bl, byte [esi]
jne 0x44c5d2
test dl, dl
je 0x44c5ce
mov bl, byte [ecx + 1]
mov dl, bl
cmp bl, byte [esi + 1]
jne 0x44c5d2
add ecx, 2
add esi, 2
test dl, dl
jne 0x44c5ae
xor ecx, ecx
jmp 0x44c5d7
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x44c5f6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x20], ecx
jl 0x44c564
mov ebx, dword [esp + 0x24]
jmp 0x44c621
mov edx, dword [eax + 8]
mov ecx, 1
sub edx, 3
mov dword [esp + 0x1c], ecx
mov dword [ebp + 0xbc], edx
mov edx, dword [ebp + 0x68]
cmp edx, ecx
mov ebx, eax
jne 0x44c618
mov dword [esp + 0x14], eax
cmp dword [ebp + 0x6c], ecx
jne 0x44c621
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x6c]
cmp eax, ecx
jge 0x44c6ef
mov ecx, dword [ebp + 0x80]
call fcn.004ccdc0
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x44c6e0
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x80]
push edx
call fcn.004ccd90
mov esi, dword [ebx + 0x54]
mov edi, eax
mov ecx, dword [edi + 0x54]
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x44c686
test dl, dl
je 0x44c682
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x44c686
add ecx, 2
add esi, 2
test dl, dl
jne 0x44c662
xor ecx, ecx
jmp 0x44c68b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x44c6b0
mov ecx, dword [edi + 8]
mov eax, dword [ebx + 0x10]
sub ecx, 6
cmp ecx, eax
jne 0x44c6b0
mov edx, dword [edi + 4]
mov eax, dword [ebx + 4]
cmp edx, eax
jne 0x44c6b0
mov eax, dword [edi + 0xc]
mov ecx, dword [ebx + 0xc]
cmp eax, ecx
je 0x44c6c1
mov eax, dword [esp + 0x10]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x10], eax
jne 0x44c64a
jmp 0x44c6e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x68]
inc eax
mov ebx, edi
cmp eax, ecx
mov dword [esp + 0x1c], eax
jne 0x44c6d7
mov dword [esp + 0x14], edi
cmp eax, dword [ebp + 0x6c]
jne 0x44c6e0
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x6c]
cmp edx, eax
jl 0x44c630
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov eax, dword [edx + 8]
cmp ecx, eax
jg 0x44d45c
mov ecx, dword [ebp + 0x80]
call fcn.004cc990
mov edi, eax
mov eax, dword [ebp + 0x7c]
xor esi, esi
mov ecx, dword [eax + 0x32c]
test ecx, ecx
jle 0x44c741
mov eax, dword [eax + 0x328]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x44c735
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov eax, dword [ebp + 0x7c]
inc esi
cmp esi, dword [eax + 0x32c]
jl 0x44c721
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffffff
add ecx, 0x324
push 0
call sub.MFC42.DLL_CObArray::SetSize
mov eax, edi
dec edi
test eax, eax
mov dword [esp + 0x10], edi
je 0x44c8bf
mov ecx, dword [ebp + 0x80]
push edi
call fcn.004cc960
mov edx, dword [eax + 8]
mov esi, dword [eax + 0x10]
cmp edx, esi
jne 0x44c84c
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 8]
lea ecx, [ebx - 3]
cmp edx, ecx
jle 0x44c7cf
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
add ecx, 3
cmp edx, ecx
jge 0x44c7cf
mov ecx, dword [ebp + 0xbc]
cmp edx, ecx
je 0x44c7cf
cmp edx, dword [ebp + 0xa4]
je 0x44c7cf
mov edi, dword [eax + 0x18]
push edi
mov edi, dword [eax + 0x14]
push edi
mov edi, ecx
sub edi, ebx
sub ecx, ebx
lea esi, [edi + esi + 3]
lea edx, [ecx + edx + 3]
push esi
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 4]
push esi
push edx
push eax
jmp 0x44c8a4
cmp edx, esi
jne 0x44c84c
mov ecx, dword [ebp + 0xbc]
cmp edx, ecx
je 0x44c838
cmp edx, esi
jne 0x44c84c
mov ebx, dword [ebp + 0xa4]
cmp edx, ebx
jne 0x44c82c
mov edi, dword [eax + 0x18]
push edi
mov edi, dword [eax + 0x14]
push edi
mov edi, ecx
sub edi, ebx
mov ebx, dword [esp + 0x1c]
sub edi, dword [ebx + 8]
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx + 0x10]
add edi, ebx
lea esi, [edi + esi + 6]
push esi
mov esi, dword [eax + 0xc]
push esi
mov esi, dword [ebp + 0xa4]
sub ecx, esi
mov esi, dword [esp + 0x24]
sub ecx, dword [esi + 8]
add ecx, ebx
lea ecx, [ecx + edx + 6]
mov edx, dword [eax + 4]
push ecx
push edx
jmp 0x44c8a4
cmp edx, esi
jne 0x44c84c
cmp edx, dword [ebp + 0x9c]
jne 0x44c84c
mov ecx, dword [eax + 0x18]
push ecx
mov ecx, dword [eax + 0x14]
push ecx
mov ecx, dword [eax + 0xc]
push esi
push ecx
push edx
mov edx, dword [eax + 4]
push edx
jmp 0x44c8a4
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0xc]
cmp ecx, edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
jne 0x44c8ac
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 8]
lea ecx, [ebx - 3]
cmp edx, ecx
jge 0x44c8ac
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
lea edi, [ecx + 3]
cmp esi, edi
jl 0x44c8ac
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push edi
mov edi, dword [ebp + 0xa4]
push eax
mov eax, dword [ebp + 0xbc]
sub eax, ebx
sub eax, edi
add eax, ecx
lea ecx, [eax + esi + 6]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push edx
push ecx
mov ecx, dword [ebp + 0x7c]
call fcn.004cc8d0
mov edi, dword [esp + 0x10]
mov edx, edi
dec edi
test edx, edx
mov dword [esp + 0x10], edi
jne 0x44c762
mov ecx, dword [ebp + 0x80]
call fcn.004ccdc0
mov edi, eax
mov eax, dword [ebp + 0x7c]
xor esi, esi
mov ecx, dword [eax + 0x340]
test ecx, ecx
jle 0x44c8fb
mov eax, dword [eax + 0x33c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x44c8ef
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov eax, dword [ebp + 0x7c]
inc esi
cmp esi, dword [eax + 0x340]
jl 0x44c8db
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffffff
add ecx, 0x338
push 0
call sub.MFC42.DLL_CObArray::SetSize
mov eax, edi
dec edi
test eax, eax
mov dword [esp + 0x10], edi
je 0x44cc24
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0x80]
call fcn.004ccd90
mov ebx, eax
mov edi, 0x5b62bc
mov ecx, dword [ebx + 0x54]
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x44c95c
test al, al
je 0x44c958
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x44c95c
add esi, 2
add edi, 2
test al, al
jne 0x44c938
xor eax, eax
jmp 0x44c961
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44cb88
mov edi, 0x5b630c
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x44c994
test al, al
je 0x44c990
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x44c994
add esi, 2
add edi, 2
test al, al
jne 0x44c970
xor eax, eax
jmp 0x44c999
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44cb88
mov edi, 0x5b6314
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x44c9cc
test al, al
je 0x44c9c8
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x44c9cc
add esi, 2
add edi, 2
test al, al
jne 0x44c9a8
xor eax, eax
jmp 0x44c9d1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44cb88
mov edi, 0x5b62b4
mov esi, ecx
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x44ca08
test al, al
je 0x44ca04
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x44ca08
add esi, 2
add edi, 2
test al, al
jne 0x44c9e0
xor eax, eax
jmp 0x44ca0d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44cac9
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x80]
mov edx, dword [ebx + 0x64]
push eax
push ecx
mov eax, dword [ebx + 0x68]
push edx
mov edx, dword [ebx + 0x58]
sub esp, 0x3c
lea esi, [ebx + 0x14]
mov ecx, 0xf
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x5c]
push eax
mov eax, dword [ebx + 0x7c]
push ecx
mov ecx, dword [ebx + 0x78]
push edx
push eax
push ecx
push ecx
lea eax, [ebx + 0x54]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
lea edx, [ebx + 0x50]
mov ecx, esp
mov dword [esp + 0x84], esp
push edx
mov dword [esp + 0xa8], 1
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x78]
mov eax, dword [ebp + 0xa4]
mov edi, dword [ebx + 0x10]
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + 8]
mov edx, dword [ebp + 0xbc]
mov esi, dword [esi + 0x10]
sub edi, eax
sub edi, ecx
mov dword [esp + 0xa4], 0xffffffff
add edi, edx
lea edi, [edi + esi + 6]
push edi
mov edi, dword [ebx + 0xc]
push edi
mov edi, dword [ebx + 8]
sub edi, eax
mov eax, dword [ebx + 4]
sub edi, ecx
add edi, edx
lea edx, [edi + esi + 6]
push edx
push eax
jmp 0x44cc09
mov edx, dword [esp + 0x14]
mov ecx, dword [ebx + 8]
cmp ecx, dword [edx + 8]
jl 0x44cc11
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0x10]
cmp eax, dword [ecx + 0x10]
jg 0x44cc11
mov edx, dword [ebx + 0x84]
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x64]
push edx
mov edx, dword [ebx + 0x68]
push eax
mov eax, dword [ebx + 0x5c]
push ecx
sub esp, 0x3c
lea esi, [ebx + 0x14]
mov ecx, 0xf
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x58]
push edx
mov edx, dword [ebx + 0x7c]
push eax
mov eax, dword [ebx + 0x78]
push ecx
push edx
push eax
push ecx
lea eax, [ebx + 0x54]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
lea edx, [ebx + 0x50]
mov ecx, esp
mov dword [esp + 0x84], esp
push edx
mov dword [esp + 0xa8], 2
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x78]
mov edx, dword [ebx + 0x10]
mov dword [esp + 0xa4], 0xffffffff
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 0xbc]
sub edx, ecx
lea edx, [edx + eax + 3]
sub eax, ecx
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx + 0xc]
push edx
lea edx, [eax + ecx + 3]
mov eax, dword [ebx + 4]
push edx
push eax
jmp 0x44cc09
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x64]
push ecx
push edx
push eax
mov edx, dword [ebx + 0x5c]
sub esp, 0x3c
mov eax, dword [ebx + 0x58]
lea esi, [ebx + 0x14]
mov ecx, 0xf
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x68]
push ecx
mov ecx, dword [ebx + 0x7c]
push edx
mov edx, dword [ebx + 0x78]
push eax
push ecx
push edx
push ecx
lea eax, [ebx + 0x54]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [ebx + 0x50]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
mov dword [esp + 0xa8], 0
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push ecx
mov ecx, dword [ebx + 4]
push edx
push eax
mov dword [esp + 0xb0], 0xffffffff
push ecx
mov ecx, dword [ebp + 0x7c]
call fcn.004ccc50
mov eax, dword [esp + 0x10]
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x10], eax
jne 0x44c91c
mov eax, dword [0x5c0450]
mov edx, dword [0x5c02c0]
mov ecx, dword [ebp + 0x7c]
sub eax, edx
inc eax
mov dword [ecx + 0x360], eax
mov edx, dword [ebp + 0x80]
mov eax, dword [ebp + 0x7c]
mov ecx, dword [edx + 0x364]
mov dword [eax + 0x364], ecx
mov edx, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x7c]
add edx, 0x368
push edx
add ecx, 0x368
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x7c]
add eax, 0x36c
add ecx, 0x36c
push eax
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [ebp + 0x80]
add ecx, 0x370
push ecx
mov ecx, dword [ebp + 0x7c]
add ecx, 0x370
call sub.MFC42.DLL_CString::operator_2
mov edx, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x7c]
add edx, 0x374
add ecx, 0x374
push edx
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x7c]
add eax, 0x378
add ecx, 0x378
push eax
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [ebp + 0x80]
add ecx, 0x37c
push ecx
mov ecx, dword [ebp + 0x7c]
add ecx, 0x37c
call sub.MFC42.DLL_CString::operator_2
mov edx, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x7c]
add edx, 0x380
add ecx, 0x380
push edx
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x7c]
add eax, 0x384
add ecx, 0x384
push eax
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [ebp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x1c], ebx
call fcn.004ccdc0
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x18], eax
je 0x44cf69
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x7c]
push edx
call fcn.004ccd90
mov esi, eax
mov edi, 0x5b6314
mov eax, dword [esi + 0x54]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x44cd7d
test cl, cl
je 0x44cd79
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x44cd7d
add eax, 2
add edi, 2
test cl, cl
jne 0x44cd59
xor eax, eax
jmp 0x44cd82
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44cd90
mov eax, dword [esi + 0x10]
add eax, 3
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x54]
mov edi, 0x5b6224
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x44cdbc
test cl, cl
je 0x44cdb8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x44cdbc
add eax, 2
add edi, 2
test cl, cl
jne 0x44cd98
xor eax, eax
jmp 0x44cdc1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44cdfe
mov eax, dword [esi + 0x54]
mov edi, 0x5b6304
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x44cdf1
test cl, cl
je 0x44cded
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x44cdf1
add eax, 2
add edi, 2
test cl, cl
jne 0x44cdcd
xor eax, eax
jmp 0x44cdf6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44ce8f
test ebx, ebx
jne 0x44ce97
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x14]
add eax, 0xfffffffd
mov ebx, esi
mov dword [ebp + 0x94], eax
sub eax, edi
mov edi, dword [ebp + 0x2e8]
mov dword [ebp + 0x78], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
sub ecx, edx
lea edx, [ecx + eax + 6]
mov eax, dword [ebp + 0x84]
add edi, edx
sub eax, 0xa
mov ecx, edi
mov dword [ebp + 0x2e8], edi
lea edi, [eax + eax*4]
lea eax, [ecx*8]
sub eax, ecx
shl edi, 1
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, 0x66666667
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edx, edi
jge 0x44cf4a
mov dword [ebp + 0xa8], esi
mov dword [ebp + 0xac], esi
mov edx, dword [esi + 8]
sub edx, 3
mov dword [ebp + 0xbc], edx
jmp 0x44cf4a
test ebx, ebx
je 0x44cf4a
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 4]
cmp eax, ecx
jne 0x44cf4a
mov ecx, dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
cmp ecx, eax
jne 0x44cf4a
mov edi, dword [esi + 0x54]
mov eax, dword [ebx + 0x54]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x44cedd
test cl, cl
je 0x44ced9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x44cedd
add eax, 2
add edi, 2
test cl, cl
jne 0x44ceb9
xor eax, eax
jmp 0x44cee2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44cf4a
mov eax, dword [esi + 8]
mov ecx, dword [ebx + 0x10]
cmp ecx, eax
jge 0x44cf4a
mov ecx, dword [esi + 0x10]
mov edi, dword [ebp + 0x78]
add ecx, edi
mov edi, dword [ebp + 0x2e8]
sub ecx, eax
mov eax, dword [ebp + 0x84]
add ecx, 0x10
sub eax, 0xa
add edi, ecx
mov ebx, esi
mov ecx, edi
mov dword [ebp + 0x2e8], edi
lea edi, [eax + eax*4]
lea eax, [ecx*8]
sub eax, ecx
shl edi, 1
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x66666667
lea ecx, [ecx + edx*2]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, edi
jge 0x44cf4a
mov dword [ebp + 0xa8], esi
mov eax, dword [esp + 0x18]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x44cd42
test ebx, ebx
mov dword [esp + 0x1c], ebx
jne 0x44d176
mov ecx, dword [ebp + 0x7c]
xor esi, esi
mov dword [esp + 0x20], esi
call fcn.004ccdc0
test eax, eax
mov dword [esp + 0x18], eax
jle 0x44d176
mov ecx, dword [ebp + 0x7c]
push esi
call fcn.004ccd90
mov ecx, eax
mov edi, 0x5b6314
mov edx, dword [ecx + 0x54]
mov esi, edx
mov bl, byte [esi]
mov al, bl
cmp bl, byte [edi]
jne 0x44cfbc
test al, al
je 0x44cfb8
mov bl, byte [esi + 1]
mov al, bl
cmp bl, byte [edi + 1]
jne 0x44cfbc
add esi, 2
add edi, 2
test al, al
jne 0x44cf98
xor eax, eax
jmp 0x44cfc1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44cfcf
mov eax, dword [ecx + 0x10]
add eax, 3
mov dword [esp + 0x14], eax
mov edi, 0x5b62fc
mov esi, edx
mov bl, byte [esi]
mov al, bl
cmp bl, byte [edi]
jne 0x44cffa
test al, al
je 0x44cff6
mov bl, byte [esi + 1]
mov al, bl
cmp bl, byte [edi + 1]
jne 0x44cffa
add esi, 2
add edi, 2
test al, al
jne 0x44cfd6
xor eax, eax
jmp 0x44cfff
sbb eax, eax
sbb eax, 0xffffffff
mov ebx, dword [esp + 0x1c]
test eax, eax
jne 0x44d09e
test ebx, ebx
jne 0x44d0a6
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x14]
add eax, 0xfffffffd
mov edi, dword [ebp + 0x2e8]
mov dword [ebp + 0x94], eax
sub eax, edx
mov dword [ebp + 0x78], eax
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 8]
mov dword [esp + 0x1c], ecx
sub edx, ebx
lea eax, [edx + eax + 6]
add edi, eax
mov eax, dword [ebp + 0x84]
sub eax, 0xa
mov edx, edi
mov dword [ebp + 0x2e8], edi
lea esi, [eax + eax*4]
lea eax, [edx*8]
sub eax, edx
shl esi, 1
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [edx + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, esi
jge 0x44d161
mov dword [ebp + 0xa8], ecx
mov dword [ebp + 0xac], ecx
mov ecx, dword [ecx + 8]
sub ecx, 3
mov dword [ebp + 0xbc], ecx
jmp 0x44d161
test ebx, ebx
je 0x44d161
mov eax, dword [ebx + 4]
mov esi, dword [ecx + 4]
cmp eax, esi
je 0x44d0be
mov eax, dword [ebx + 0xc]
mov esi, dword [ecx + 0xc]
cmp eax, esi
jne 0x44d161
mov edi, 0x5b62fc
mov esi, edx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x44d0e9
test al, al
je 0x44d0e5
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x44d0e9
add esi, 2
add edi, 2
test al, al
jne 0x44d0c5
xor eax, eax
jmp 0x44d0ee
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44d161
mov edx, dword [ebx + 0x10]
mov eax, dword [ecx + 8]
cmp edx, eax
jge 0x44d161
mov esi, eax
sub esi, edx
cmp esi, 6
jne 0x44d161
mov edx, dword [ecx + 0x10]
mov edi, dword [ebp + 0x78]
add edx, edi
mov edi, dword [ebp + 0x2e8]
sub edx, eax
mov eax, dword [ebp + 0x84]
add edx, 0x10
sub eax, 0xa
add edi, edx
mov dword [esp + 0x1c], ecx
mov edx, edi
lea esi, [eax + eax*4]
shl esi, 1
lea eax, [edx*8]
mov dword [ebp + 0x2e8], edi
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [edx + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, esi
jge 0x44d161
mov dword [ebp + 0xa8], ecx
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc esi
cmp esi, eax
mov dword [esp + 0x20], esi
jl 0x44cf83
mov eax, dword [ebp + 0x84]
sub eax, 0xa
lea ecx, [eax + eax*4]
shl ecx, 1
test ecx, ecx
jle 0x44d207
mov edx, dword [ebp + 0x2e8]
lea eax, [edx*8]
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [edx + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x44d1c3
mov eax, esi
cdq
idiv ecx
jmp 0x44d201
test ecx, ecx
jle 0x44d207
mov edx, dword [ebp + 0x2e8]
lea eax, [edx*8]
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [edx + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x44d207
mov eax, esi
cdq
idiv ecx
inc eax
mov dword [ebp + 0x8c], eax
mov ecx, dword [ebp + 0xac]
mov eax, dword [ebp + 0xa8]
mov edx, dword [ecx + 8]
sub edx, 3
mov dword [ebp + 0xc8], edx
mov ecx, dword [eax + 0x10]
add ecx, 3
mov eax, 1
mov dword [ebp + 0x1b8], ecx
mov ecx, dword [ebp + 0x8c]
cmp ecx, eax
mov dword [esp + 0x18], eax
jle 0x44d45c
lea ebx, [ebp + 0xcc]
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 0xa8]
test eax, eax
mov dword [ebp + 0xac], eax
je 0x44d446
mov ecx, dword [ebp + 0x7c]
call fcn.004ccdc0
xor esi, esi
xor edi, edi
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
je 0x44d3e0
mov ecx, dword [ebp + 0x7c]
push eax
call fcn.004ccd90
test edi, edi
mov ecx, eax
jne 0x44d319
mov edx, dword [ebp + 0xac]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x44d3c9
mov eax, dword [ecx + 0xc]
mov ebx, dword [edx + 0xc]
cmp eax, ebx
jne 0x44d3c9
mov eax, dword [ecx + 8]
lea ebx, [eax - 6]
cmp ebx, dword [edx + 0x10]
jne 0x44d3c9
mov edx, dword [ecx + 0x10]
mov ebx, dword [ebp + 0x78]
add edx, ebx
mov edi, ecx
sub edx, eax
mov eax, dword [ebp + 0x84]
sub eax, 0xa
mov dword [esp + 0x1c], edi
lea esi, [esi + edx + 0x10]
lea ebx, [eax + eax*4]
lea eax, [esi*8]
sub eax, esi
shl ebx, 1
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [esi + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebx
jg 0x44d3c9
mov dword [ebp + 0xa8], ecx
jmp 0x44d3c9
mov edx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x44d3c9
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + 0xc]
cmp eax, edx
jne 0x44d3c9
mov eax, dword [ecx + 0x54]
mov edi, dword [edi + 0x54]
mov bl, byte [edi]
mov dl, bl
cmp bl, byte [eax]
jne 0x44d35f
test dl, dl
je 0x44d35b
mov bl, byte [edi + 1]
mov dl, bl
cmp bl, byte [eax + 1]
jne 0x44d35f
add edi, 2
add eax, 2
test dl, dl
jne 0x44d33b
xor eax, eax
jmp 0x44d364
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44d3c5
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + 8]
cmp dword [edi + 0x10], eax
jge 0x44d3c9
mov edx, dword [ecx + 0x10]
mov ebx, dword [ebp + 0x78]
add edx, ebx
mov edi, ecx
sub edx, eax
mov eax, dword [ebp + 0x84]
sub eax, 0xa
mov dword [esp + 0x1c], edi
lea esi, [esi + edx + 0x10]
lea ebx, [eax + eax*4]
lea eax, [esi*8]
sub eax, esi
shl ebx, 1
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [esi + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ebx
jg 0x44d3c9
mov dword [ebp + 0xa8], ecx
jmp 0x44d3c9
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x44d27f
mov ebx, dword [esp + 0x14]
mov edx, dword [ebp + 0xac]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x18]
add eax, 3
mov dword [ebx], eax
mov ecx, dword [ebp + 0xa8]
mov eax, dword [ecx + 0x10]
add eax, 3
mov dword [ebx + 0xf0], eax
mov ecx, dword [ebp + 0x8c]
dec ecx
cmp edx, ecx
jne 0x44d419
cmp dword [ebx], eax
jne 0x44d419
mov dword [ebp + 0x8c], ecx
mov eax, dword [ebp + 0x8c]
inc edx
add ebx, 4
cmp edx, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ebx
jl 0x44d24c
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
push 0x2010
push 0x5b6164
push 0x5b6338
mov ecx, ebp
call sub.MFC42.DLL_CWnd::MessageBoxA
mov ecx, dword [esp + 0x38]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x34
ret