Function at 0x44c23c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4e8a18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
mov eax, dword [esp + 0x64]
push esi
mov esi, ecx
cmp eax, 1
mov dword [esp + 4], esi
jne 0x44d6cf
push ebx
push ebp
mov ebp, dword [esp + 0x68]
push edi
push 0x5144b0
push 0x505d04
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
mov ebx, dword [esp + 0x6c]
add esp, 4
mov ecx, ebx
push eax
call fcn.00436ef0
push 0x5144b0
push 0x504ef8
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
call fcn.00436ed0
push 0x5144b0
push 0x504ef0
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x22c], eax
push 0x5144b0
push 0x504ee4
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x230], eax
push 0x5144b0
push 0x505cf8
call fcn.0049b1d0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebx + 0x150]
call fcn.00416e90
push 0x5144b0
push 0x504e48
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
call fcn.00436f10
push 0x5144b0
push 0x505ce8
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
call fcn.00436f30
push 0x5144b0
push 0x505cdc
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
call fcn.00436f70
push 0x5144b0
push 0x505cc8
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
call fcn.00436f50
push 0x5144b0
push 0x505350
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004c0a2e
fstp dword [ebx + 0x170]
add esp, 4
mov ecx, ebp
push 0x5144b0
push 0x505cbc
call fcn.0049b1d0
push eax
call fcn.004c0a2e
fstp dword [ebx + 0x174]
add esp, 4
mov ecx, ebp
push 0x5144b0
push 0x505cac
call fcn.0049b1d0
push eax
call fcn.004c0a2e
fstp dword [ebx + 0x178]
add esp, 4
mov ecx, ebp
push 0x5144b0
push 0x505184
call fcn.0049b1d0
mov edi, dword [esp + 0x70]
push eax
push edi
mov ecx, esi
call fcn.0044e0c0
push eax
mov ecx, ebx
call fcn.00436f90
push 0x5144b0
push 0x505c9c
mov ecx, ebp
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c84
mov ecx, ebp
mov byte [ebx + 0x260], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c70
mov ecx, ebp
mov byte [ebx + 0x261], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c5c
mov ecx, ebp
mov byte [ebx + 0x262], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c4c
mov ecx, ebp
mov byte [ebx + 0x268], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c3c
mov ecx, ebp
mov byte [ebx + 0x269], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c30
mov ecx, ebp
mov byte [ebx + 0x26a], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c18
mov ecx, ebp
mov byte [ebx + 0x26b], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505c08
mov ecx, ebp
mov byte [ebx + 0x273], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505bf8
mov ecx, ebp
mov byte [ebx + 0x274], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505be8
mov ecx, ebp
mov byte [ebx + 0x263], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505bd8
mov ecx, ebp
mov byte [ebx + 0x264], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505bbc
mov ecx, ebp
mov byte [ebx + 0x266], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505ba8
mov ecx, ebp
mov byte [ebx + 0x265], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505b90
mov ecx, ebp
mov byte [ebx + 0x26c], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505b7c
mov ecx, ebp
mov byte [ebx + 0x26d], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505b68
mov ecx, ebp
mov byte [ebx + 0x26e], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505b54
mov ecx, ebp
mov byte [ebx + 0x270], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505b3c
mov ecx, ebp
mov byte [ebx + 0x26f], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505b28
mov ecx, ebp
mov byte [ebx + 0x271], al
call fcn.0049b1d0
push eax
mov ecx, esi
call fcn.0044e030
push 0x5144b0
push 0x505348
mov ecx, ebp
mov byte [ebx + 0x272], al
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x254], eax
push 0x5144b0
push 0x505b1c
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
call fcn.00438990
push 0x5144b0
push 0x505358
mov ecx, ebp
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x278], eax
push 0x5144b0
push 0x505b0c
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x248], eax
push 0x5144b0
push 0x505af8
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x24c], eax
push 0x5144b0
push 0x505ae0
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x250], eax
push 0x5144b0
push 0x505ad0
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x220], eax
push 0x5144b0
push 0x505abc
call fcn.0049b1d0
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x224], eax
push 5
push 0x5144b0
push 0x505ab0
call fcn.0049b1d0
push eax
push edi
mov ecx, esi
call fcn.0044e200
mov edi, eax
test edi, edi
je 0x44c80a
mov ecx, edi
mov dword [esp + 0x74], 0
call fcn.00433210
test eax, eax
jle 0x44c80a
mov eax, dword [esp + 0x74]
mov ecx, edi
push eax
call fcn.0049c4d0
mov edx, dword [eax]
push 9
mov ecx, eax
mov dword [esp + 0x70], eax
call dword [edx + 4]
test al, al
je 0x44c7f4
mov ecx, dword [esp + 0x6c]
call fcn.0042a810
push eax
call fcn.004bf1f1
add esp, 4
mov ecx, ebx
push eax
mov eax, dword [esp + 0x78]
push eax
call fcn.00438840
mov edx, dword [esp + 0x74]
mov ecx, edi
inc edx
mov dword [esp + 0x74], edx
call fcn.00433210
cmp dword [esp + 0x74], eax
jl 0x44c7b8
push 5
push 0x5144b0
push 0x505aa4
mov ecx, ebp
call fcn.0049b1d0
mov ecx, dword [esp + 0x74]
push eax
push ecx
mov ecx, esi
call fcn.0044e200
mov edi, eax
test edi, edi
mov dword [esp + 0x6c], edi
je 0x44c89a
mov ecx, edi
mov dword [esp + 0x74], 0
call fcn.00433210
test eax, eax
jle 0x44c89a
jmp 0x44c84d
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
mov ecx, edi
push edx
call fcn.0049c4d0
mov edi, eax
push 9
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 4]
test al, al
je 0x44c884
mov ecx, edi
call fcn.0042a810
push eax
call fcn.004c0a2e
mov ecx, dword [esp + 0x78]
fstp dword [esp]
push ecx
mov ecx, ebx
call fcn.00438910
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
inc edi
mov dword [esp + 0x74], edi
call fcn.00433210
cmp edi, eax
jl 0x44c849
push 0x5144b0
push 0x505a9c
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0xe0]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44c903
mov ecx, dword [esp + 0x74]
mov edi, dword [ebx + 0xe4]
mov esi, dword [esp + 0x6c]
lea eax, [ebx + 0xe0]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push ecx
mov ecx, eax
call fcn.00401560
mov esi, dword [esp + 0x10]
push 0x5144b0
push 0x505a94
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0xf0]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44c96c
mov ecx, dword [esp + 0x74]
mov edi, dword [ebx + 0xf4]
mov esi, dword [esp + 0x6c]
lea eax, [ebx + 0xf0]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push ecx
mov ecx, eax
call fcn.00401560
mov esi, dword [esp + 0x10]
push 0x5144b0
push 0x505a8c
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0x100]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44c9d8
mov eax, dword [esp + 0x74]
mov edi, dword [ebx + 0x104]
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x104]
mov esi, dword [esp + 0x10]
mov dword [ebx + 0x108], eax
add eax, ecx
mov byte [eax], 0
push 0x5144b0
push 0x505a84
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0x110]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44ca44
mov eax, dword [esp + 0x74]
mov edi, dword [ebx + 0x114]
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x114]
mov esi, dword [esp + 0x10]
add ecx, eax
mov dword [ebx + 0x118], eax
mov byte [ecx], 0
push 0x5144b0
push 0x505a7c
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0x120]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44cab0
mov eax, dword [esp + 0x74]
mov edi, dword [ebx + 0x124]
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x124]
mov esi, dword [esp + 0x10]
add ecx, eax
mov dword [ebx + 0x128], eax
mov byte [ecx], 0
push 0x5144b0
push 0x505a74
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0x130]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44cb1c
mov eax, dword [esp + 0x74]
mov edi, dword [ebx + 0x134]
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x134]
mov esi, dword [esp + 0x10]
mov dword [ebx + 0x138], eax
add eax, ecx
mov byte [eax], 0
push 0x5144b0
push 0x505a6c
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0x140]
push 1
mov dword [esp + 0x78], ecx
push ecx
mov ecx, edx
call fcn.00401580
test al, al
je 0x44cb88
mov eax, dword [esp + 0x74]
mov edi, dword [ebx + 0x144]
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x144]
mov esi, dword [esp + 0x10]
mov dword [ebx + 0x148], eax
add eax, ecx
mov byte [eax], 0
push 0x5144b0
push 0x505a5c
mov ecx, ebp
call fcn.0049b1d0
mov edi, eax
mov al, byte [esp + 0x70]
push 0
lea ecx, [esp + 0x38]
mov dword [esp + 0x70], edi
mov byte [esp + 0x38], al
call fcn.00401510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [esp + 0x78], ecx
push ecx
lea ecx, [esp + 0x3c]
call fcn.00401580
test al, al
je 0x44cbfa
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x38]
mov ecx, eax
mov edx, ecx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x38]
call fcn.00401560
mov esi, dword [esp + 0x10]
mov eax, dword [0x4ec400]
lea ecx, [esp + 0x34]
push eax
push 0
push ecx
lea ecx, [ebx + 0x2dc]
mov dword [esp + 0x68], 0
call fcn.00415fc0
push 1
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], 0xffffffff
call fcn.00401510
push 0x5144b0
push 0x505340
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x74], eax
mov ecx, 0x5054bc
mov edi, eax
mov dl, byte [edi]
mov al, dl
cmp dl, byte [ecx]
jne 0x44cc6d
test al, al
je 0x44cc69
mov dl, byte [edi + 1]
mov al, dl
cmp dl, byte [ecx + 1]
jne 0x44cc6d
add edi, 2
add ecx, 2
test al, al
jne 0x44cc49
xor eax, eax
jmp 0x44cc72
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44cc81
mov dword [ebx + 0xdc], eax
jmp 0x44cd03
mov edi, dword [esp + 0x74]
mov eax, 0x505330
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x44ccae
test cl, cl
je 0x44ccaa
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x44ccae
add edi, 2
add eax, 2
test cl, cl
jne 0x44cc8a
xor eax, eax
jmp 0x44ccb3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44ccc3
mov dword [ebx + 0xdc], 2
jmp 0x44cd03
mov edi, dword [esp + 0x74]
mov eax, 0x505338
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x44ccf0
test cl, cl
je 0x44ccec
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x44ccf0
add edi, 2
add eax, 2
test cl, cl
jne 0x44cccc
xor eax, eax
jmp 0x44ccf5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44cd03
mov dword [ebx + 0xdc], 1
push 0x5144b0
push 0x505a54
mov ecx, ebp
call fcn.0049b1d0
mov edi, eax
mov al, byte [esp + 0x70]
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x70], edi
mov byte [esp + 0x18], al
call fcn.00401510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [esp + 0x78], ecx
push ecx
lea ecx, [esp + 0x1c]
call fcn.00401580
test al, al
je 0x44cd77
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov dl, byte [esp + 0x14]
push 0
lea ecx, [esp + 0x28]
mov dword [esp + 0x60], 1
mov byte [esp + 0x28], dl
call fcn.00401510
mov eax, dword [0x4ec400]
lea ecx, [esp + 0x14]
push eax
push 0
push ecx
lea ecx, [esp + 0x30]
call fcn.00415fc0
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x18]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x5c], 2
not ecx
dec ecx
test eax, eax
mov dword [esp + 0x74], ecx
jbe 0x44cdff
add eax, edx
mov edi, edx
cmp edx, eax
mov dword [esp + 0x6c], eax
jae 0x44cdff
movsx edx, byte [edi]
mov ecx, dword [esp + 0x74]
push ecx
push edx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
je 0x44ce63
mov eax, dword [esp + 0x6c]
inc edi
cmp edi, eax
jb 0x44cdd8
mov edx, dword [esp + 0x18]
mov eax, dword [0x4ec400]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x74]
mov edi, 0x503680
mov dword [esp + 0x6c], ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x68], ecx
je 0x44ce77
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jae 0x44ce77
add eax, edx
lea edi, [edx + ecx]
cmp edi, eax
mov dword [esp + 0x74], eax
jae 0x44ce77
movsx eax, byte [edi]
mov edx, dword [esp + 0x68]
push edx
push eax
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
jne 0x44ce6f
mov eax, dword [esp + 0x74]
inc edi
cmp edi, eax
jb 0x44ce3e
jmp 0x44ce77
mov edx, dword [esp + 0x18]
sub edi, edx
mov dword [esp + 0x74], edi
jmp 0x44ce08
sub edi, dword [esp + 0x18]
mov ecx, edi
jmp 0x44ce7d
mov ecx, dword [0x4ec400]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jne 0x44ce93
cmp eax, 0xffffffff
je 0x44cffb
sub ecx, eax
push ecx
lea ecx, [esp + 0x48]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.004145f0
mov edx, dword [0x4ec400]
lea ecx, [esp + 0x24]
push edx
push 0
push eax
mov byte [esp + 0x68], 3
call fcn.00415fc0
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x60], 2
call fcn.00401510
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x44ceda
mov eax, 0x4ec3fc
push 0
push 5
push eax
mov eax, dword [esp + 0x7c]
push eax
mov ecx, esi
call fcn.0044e200
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, ebx
call fcn.00437530
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x74]
not ecx
dec ecx
cmp eax, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
jae 0x44cf5b
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
add eax, edx
lea edi, [edx + ecx]
mov dword [esp + 0x68], eax
cmp edi, eax
jae 0x44cf5b
movsx eax, byte [edi]
mov edx, dword [esp + 0x6c]
push edx
push eax
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
je 0x44cfcf
mov eax, dword [esp + 0x68]
inc edi
cmp edi, eax
jb 0x44cf30
mov edx, dword [esp + 0x18]
mov ecx, dword [0x4ec400]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x74]
mov edi, 0x503680
mov dword [esp + 0x6c], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x68], ecx
je 0x44cfea
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jae 0x44cfea
add eax, edx
lea edi, [edx + ecx]
cmp edi, eax
mov dword [esp + 0x74], eax
jae 0x44cfea
movsx edx, byte [edi]
mov ecx, dword [esp + 0x68]
push ecx
push edx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
jne 0x44cfdb
mov eax, dword [esp + 0x74]
inc edi
cmp edi, eax
jb 0x44cf9b
mov edi, dword [0x4ec400]
mov dword [esp + 0x74], edi
mov ecx, edi
jmp 0x44ce81
mov edx, dword [esp + 0x18]
sub edi, edx
mov dword [esp + 0x74], edi
jmp 0x44cf65
sub edi, dword [esp + 0x18]
mov dword [esp + 0x74], edi
mov ecx, edi
jmp 0x44ce81
mov edi, dword [0x4ec400]
mov dword [esp + 0x74], edi
mov ecx, edi
jmp 0x44ce81
push 0x5144b0
push 0x505a44
mov ecx, ebp
call fcn.0049b1d0
mov dword [esp + 0x6c], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [esp + 0x78], ecx
push ecx
lea ecx, [esp + 0x1c]
call fcn.00401580
test al, al
je 0x44d05c
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov edx, dword [0x4ec400]
lea eax, [esp + 0x14]
push edx
push 0
push eax
lea ecx, [esp + 0x30]
call fcn.00415fc0
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x18]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x1c]
not ecx
dec ecx
test eax, eax
mov dword [esp + 0x74], ecx
jbe 0x44d0c8
mov ecx, eax
mov edi, edx
lea eax, [ecx + edx]
cmp edx, eax
mov dword [esp + 0x6c], eax
jae 0x44d0c8
movsx eax, byte [edi]
mov edx, dword [esp + 0x74]
push edx
push eax
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
je 0x44d12d
mov eax, dword [esp + 0x6c]
inc edi
cmp edi, eax
jb 0x44d0a1
mov edx, dword [esp + 0x18]
mov ecx, dword [0x4ec400]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x74]
mov edi, 0x503680
mov dword [esp + 0x6c], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x68], ecx
je 0x44d141
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jae 0x44d141
add eax, edx
lea edi, [edx + ecx]
cmp edi, eax
mov dword [esp + 0x74], eax
jae 0x44d141
movsx edx, byte [edi]
mov ecx, dword [esp + 0x68]
push ecx
push edx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
jne 0x44d139
mov eax, dword [esp + 0x74]
inc edi
cmp edi, eax
jb 0x44d108
jmp 0x44d141
mov edx, dword [esp + 0x18]
sub edi, edx
mov dword [esp + 0x74], edi
jmp 0x44d0d2
sub edi, dword [esp + 0x18]
mov ecx, edi
jmp 0x44d147
mov ecx, dword [0x4ec400]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jne 0x44d15d
cmp eax, 0xffffffff
je 0x44d357
sub ecx, eax
push ecx
push eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x1c]
push eax
call fcn.004145f0
mov ecx, dword [0x4ec400]
xor edi, edi
push ecx
push edi
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 4
call fcn.00415fc0
mov eax, dword [esp + 0x48]
mov byte [esp + 0x5c], 2
cmp eax, edi
je 0x44d1b2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x44d1a9
cmp al, 0xff
je 0x44d1a9
dec al
mov byte [ecx], al
jmp 0x44d1b2
push ecx
call fcn.004b124a
add esp, 4
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], edi
cmp edx, edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
jne 0x44d1cb
mov edx, 0x4ec3fc
mov al, byte [esp + 0x70]
mov edi, edx
mov byte [esp + 0x34], al
xor eax, eax
or ecx, 0xffffffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x3c]
call fcn.00416e90
mov eax, dword [esp + 0x28]
mov byte [esp + 0x5c], 5
test eax, eax
jne 0x44d208
mov eax, 0x4ec3fc
mov ecx, dword [esp + 0x70]
push 1
push 5
push eax
push ecx
mov ecx, esi
call fcn.0044e200
lea edx, [esp + 0x38]
push eax
push edx
mov ecx, ebx
call fcn.00437530
mov eax, dword [esp + 0x38]
mov byte [esp + 0x5c], 2
test eax, eax
je 0x44d250
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x44d247
cmp al, 0xff
je 0x44d247
dec al
mov byte [ecx], al
jmp 0x44d250
push ecx
call fcn.004b124a
add esp, 4
xor eax, eax
mov edi, 0x503680
or ecx, 0xffffffff
mov edx, dword [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jae 0x44d2b7
add ecx, edx
lea edi, [edx + eax]
cmp edi, ecx
mov dword [esp + 0x74], ecx
jae 0x44d2b7
movsx eax, byte [edi]
mov edx, dword [esp + 0x6c]
push edx
push eax
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
je 0x44d32b
mov eax, dword [esp + 0x74]
inc edi
cmp edi, eax
jb 0x44d28c
mov edx, dword [esp + 0x18]
mov ecx, dword [0x4ec400]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x74]
mov edi, 0x503680
mov dword [esp + 0x6c], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x68], ecx
je 0x44d346
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jae 0x44d346
add eax, edx
lea edi, [edx + ecx]
cmp edi, eax
mov dword [esp + 0x74], eax
jae 0x44d346
movsx edx, byte [edi]
mov ecx, dword [esp + 0x68]
push ecx
push edx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
jne 0x44d337
mov eax, dword [esp + 0x74]
inc edi
cmp edi, eax
jb 0x44d2f7
mov edi, dword [0x4ec400]
mov dword [esp + 0x74], edi
mov ecx, edi
jmp 0x44d14b
mov edx, dword [esp + 0x18]
sub edi, edx
mov dword [esp + 0x74], edi
jmp 0x44d2c1
sub edi, dword [esp + 0x18]
mov dword [esp + 0x74], edi
mov ecx, edi
jmp 0x44d14b
mov edi, dword [0x4ec400]
mov dword [esp + 0x74], edi
mov ecx, edi
jmp 0x44d14b
push 0x5144b0
push 0x505a30
mov ecx, ebp
call fcn.0049b1d0
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401580
test al, al
je 0x44d3a8
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [ecx + ebp], 0
mov edx, dword [0x4ec400]
lea eax, [esp + 0x14]
push edx
push 0
push eax
lea ecx, [esp + 0x30]
call fcn.00415fc0
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x18]
not ecx
dec ecx
test ebp, ebp
mov edi, ecx
jbe 0x44d410
lea eax, [edx + ebp]
mov esi, edx
cmp edx, eax
mov dword [esp + 0x70], eax
jae 0x44d410
movsx ecx, byte [esi]
push edi
push ecx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
je 0x44d456
mov eax, dword [esp + 0x70]
inc esi
cmp esi, eax
jb 0x44d3e9
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov esi, dword [0x4ec400]
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x6c], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
je 0x44d46e
cmp esi, ebp
jae 0x44d46e
add ebp, edx
add esi, edx
cmp esi, ebp
jae 0x44d46e
movsx edx, byte [esi]
push edi
push edx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
jne 0x44d462
inc esi
cmp esi, ebp
jb 0x44d439
jmp 0x44d46a
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
sub esi, edx
jmp 0x44d416
mov edx, dword [esp + 0x18]
sub esi, edx
jmp 0x44d474
mov edx, dword [esp + 0x18]
mov esi, dword [0x4ec400]
or eax, 0xffffffff
mov ecx, esi
cmp ecx, eax
mov dword [esp + 0x74], esi
jne 0x44d48b
cmp dword [esp + 0x6c], eax
je 0x44d666
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
sub ecx, eax
lea edx, [esp + 0x44]
push ecx
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.004145f0
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x4ec400]
mov ebp, eax
mov byte [esp + 0x5c], 6
cmp ecx, ebp
jae 0x44d4bd
mov ebp, ecx
lea edx, [esp + 0x24]
cmp edx, esi
jne 0x44d4e2
push ecx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004161c0
push 0
push 0
lea ecx, [esp + 0x2c]
call fcn.004161c0
jmp 0x44d569
test ebp, ebp
jbe 0x44d52f
cmp ebp, eax
jne 0x44d52f
mov eax, dword [esi + 4]
test eax, eax
jne 0x44d4f6
mov eax, 0x4ec3fc
cmp byte [eax - 1], 0xfe
jae 0x44d52f
push 1
lea ecx, [esp + 0x28]
call fcn.00401510
mov eax, dword [esi + 4]
test eax, eax
jne 0x44d513
mov eax, 0x4ec3fc
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x30], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x44d569
push 1
push ebp
lea ecx, [esp + 0x2c]
call fcn.00401580
test al, al
je 0x44d569
mov esi, dword [esi + 4]
test esi, esi
jne 0x44d54b
mov esi, 0x4ec3fc
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
call fcn.00401560
mov eax, dword [esp + 0x48]
mov byte [esp + 0x5c], 2
test eax, eax
je 0x44d593
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x44d58a
cmp al, 0xff
je 0x44d58a
dec al
mov byte [ecx], al
jmp 0x44d593
push ecx
call fcn.004b124a
add esp, 4
lea ecx, [esp + 0x24]
xor eax, eax
push ecx
mov ecx, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
call fcn.00438a60
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
not ecx
dec ecx
cmp eax, ebp
mov dword [esp + 0x70], ecx
jae 0x44d601
lea edi, [edx + ebp]
lea esi, [edx + eax]
cmp esi, edi
jae 0x44d601
movsx eax, byte [esi]
mov edx, dword [esp + 0x70]
push edx
push eax
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
je 0x44d65a
inc esi
cmp esi, edi
jb 0x44d5da
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov esi, dword [0x4ec400]
mov edi, 0x503680
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x6c], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
je 0x44d46e
cmp esi, ebp
jae 0x44d46e
add ebp, edx
add esi, edx
cmp esi, ebp
jae 0x44d46e
movsx ecx, byte [esi]
push edi
push ecx
push 0x503680
call fcn.004bf790
add esp, 0xc
test eax, eax
jne 0x44d462
inc esi
cmp esi, ebp
jb 0x44d636
jmp 0x44d46a
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
sub esi, edx
jmp 0x44d607
mov ecx, dword [esp + 0x28]
xor esi, esi
pop edi
pop ebp
cmp ecx, esi
pop ebx
je 0x44d693
mov al, byte [ecx - 1]
test al, al
je 0x44d685
cmp al, 0xff
je 0x44d685
dec al
mov byte [ecx - 1], al
jmp 0x44d68f
dec ecx
push ecx
call fcn.004b124a
add esp, 4
mov edx, dword [esp + 0xc]
cmp edx, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
je 0x44d6cf
mov al, byte [edx - 1]
test al, al
je 0x44d6c5
cmp al, 0xff
je 0x44d6c5
dec al
pop esi
mov byte [edx - 1], al
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret 0x14
dec edx
push edx
call fcn.004b124a
add esp, 4
mov ecx, dword [esp + 0x48]
pop esi
mov dword fs:[0], ecx
add esp, 0x50
ret 0x14