Function at 0x44b389
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xc4
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x60]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 0x64]
mov eax, dword [eax]
mov dword [ebp + 0x50], eax
mov eax, ecx
shr eax, 9
and eax, 1
push esi
mov dword [ebp - 0x48], eax
xor eax, 1
push edi
mov edi, dword [ebp + 0x78]
mov dword [ebp - 0x4c], eax
push 0xfffffffffffffffe
pop eax
xor esi, esi
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x2c], eax
mov eax, ecx
and eax, 1
shl eax, 8
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x28], ecx
mov dword [ebp + 8], esi
mov dword [ebp - 8], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp + 0x14], esi
mov dword [ebp - 0x44], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp], esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x50]
movzx edx, byte [eax]
mov eax, dword [ebp + 0x7c]
cmp eax, esi
mov dword [ebp + 0x48], edx
je 0x44b47a
mov ecx, dword [edi + 0x10]
add ecx, 0x1000
cmp ebx, ecx
ja 0x44d1cd
cmp ebx, dword [ebp - 8]
jae 0x44b420
mov ebx, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, ebx
sub ecx, dword [ebp - 8]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, ecx
jl 0x44d31b
sub eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x7c]
add eax, ebx
mov dword [ecx], eax
mov eax, dword [ebp + 0x4c]
cmp eax, esi
je 0x44b46f
cmp eax, dword [ebp - 0x3c]
jbe 0x44b472
mov eax, ebx
sub eax, dword [ebp + 0x4c]
push eax
push dword [ebp + 0x4c]
push dword [ebp - 0x3c]
call sub.MSVCR71.dll_memmove
mov eax, dword [ebp - 0x3c]
mov ecx, eax
sub ecx, dword [ebp + 0x4c]
add esp, 0xc
add ebx, ecx
mov dword [ebp + 0x4c], eax
jmp 0x44b472
mov ebx, dword [ebp - 0x3c]
mov edx, dword [ebp + 0x48]
mov dword [ebp - 8], ebx
jmp 0x44b48b
mov eax, dword [edi + 0x10]
add eax, 0x1000
cmp dword [edi + 0x20], eax
ja 0x44d1cd
cmp dword [ebp + 0x14], esi
je 0x44b4b3
cmp edx, esi
je 0x44b4b3
cmp edx, 0x5c
jne 0x44bfbb
mov eax, dword [ebp + 0x50]
inc eax
cmp byte [eax], 0x45
jne 0x44bfbb
and dword [ebp + 0x14], 0
jmp 0x44c04f
cmp edx, 0x2a
je 0x44b4d9
cmp edx, 0x2b
je 0x44b4d9
cmp edx, 0x3f
je 0x44b4d9
cmp edx, 0x7b
jne 0x44b4d4
mov eax, dword [ebp + 0x50]
inc eax
call fcn.0044a642
test eax, eax
jne 0x44b4d9
mov dword [ebp + 0x34], esi
jmp 0x44b4e0
mov dword [ebp + 0x34], 1
test byte [ebp + 0x28], 8
je 0x44b56d
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x48]
test byte [ecx + eax], 1
jne 0x44d1c3
mov edx, ecx
cmp edx, 0x23
jne 0x44b570
mov eax, dword [ebp + 0x50]
jmp 0x44b561
mov edx, dword [edi + 0x4c]
test edx, edx
je 0x44b543
mov ecx, dword [edi + 0x1c]
cmp eax, ecx
jae 0x44b561
push 0
lea esi, [edi + 0x50]
push esi
push ecx
push edx
push eax
call fcn.0041abda
add esp, 0x14
test eax, eax
mov eax, dword [ebp + 0x50]
je 0x44b561
mov ecx, dword [edi + 0x50]
lea eax, [eax + ecx - 1]
mov dword [ebp + 0x50], eax
cmp byte [eax], 0
jne 0x44d1c3
xor edx, edx
jmp 0x44b570
mov edx, dword [edi + 0x50]
mov esi, dword [edi + 0x1c]
sub esi, edx
cmp eax, esi
ja 0x44b561
cmp cl, byte [edi + 0x54]
jne 0x44b561
cmp edx, 1
je 0x44b52c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 0x55]
je 0x44b52c
inc eax
mov dword [ebp + 0x50], eax
mov cl, byte [eax]
test cl, cl
jne 0x44b506
jmp 0x44b53f
mov edx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x50]
xor ecx, ecx
cmp edx, 0x2e
jg 0x44bf45
je 0x44bf24
mov eax, edx
sub eax, ecx
je 0x44bf70
sub eax, 0x24
je 0x44bf19
sub eax, 4
je 0x44b5c6
dec eax
je 0x44bf70
dec eax
je 0x44b5bd
dec eax
jne 0x44bfbb
or dword [ebp + 0x30], 0xffffffff
mov dword [ebp + 0x20], 1
jmp 0x44ca53
or dword [ebp + 0x30], 0xffffffff
jmp 0x44ca50
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x34], eax
mov eax, dword [edi + 0x20]
inc esi
mov dword [ebp], eax
mov dword [ebp + 0x50], esi
mov al, byte [esi]
cmp al, 0x2a
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x40], 0x5e
mov dword [ebp - 0x10], ecx
jne 0x44b6b8
mov ecx, dword [edi + 0xc]
lea edx, [esi + 1]
mov dword [ebp + 0x44], edx
movzx edx, byte [edx]
test byte [edx + ecx], 2
je 0x44b6b8
mov eax, dword [ebp + 0x44]
and dword [ebp + 0x4c], 0
mov dword [ebp + 0x3c], str.ACCEPT
mov dword [ebp + 0x40], eax
inc eax
mov dword [ebp + 0x50], eax
movzx edx, byte [eax]
test byte [edx + ecx], 2
jne 0x44b614
mov al, byte [eax]
cmp al, 0x3a
je 0x44d1db
cmp al, 0x29
jne 0x44b6aa
mov esi, dword [ebp + 0x50]
sub esi, dword [ebp + 0x40]
and dword [ebp + 0x44], 0
cmp dword [0x45b0a0], 0
jle 0x44b6aa
mov eax, dword [ebp + 0x44]
cmp esi, dword [eax*8 + 0x45b068]
jne 0x44b661
push esi
push dword [ebp + 0x3c]
push dword [ebp + 0x40]
call sub.MSVCR71.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44b683
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax*8 + 0x45b068]
mov edx, dword [ebp + 0x3c]
inc eax
cmp eax, dword [0x45b0a0]
lea ecx, [edx + ecx + 1]
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x44], eax
jl 0x44b642
jmp 0x44b69b
mov eax, dword [ebp + 0x44]
mov al, byte [eax*8 + 0x45b06c]
mov byte [ebx], al
inc ebx
cmp al, 0x6d
jne 0x44b69b
mov dword [edi + 0x48], 1
mov eax, dword [ebp + 0x44]
cmp eax, dword [0x45b0a0]
jl 0x44d1c3
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3c
jmp 0x44d324
cmp al, 0x3f
jne 0x44bda7
inc esi
mov dword [ebp + 0x50], esi
mov cl, byte [esi]
movzx eax, cl
cmp eax, 0x39
jg 0x44b9eb
cmp eax, 0x30
jge 0x44ba36
sub eax, 0x21
je 0x44b9a3
dec eax
dec eax
je 0x44b974
push 3
pop edx
sub eax, edx
je 0x44b965
dec eax
je 0x44bc47
dec eax
je 0x44b716
sub eax, edx
je 0x44ba36
dec eax
dec eax
je 0x44ba36
jmp 0x44ba65
cmp byte [esi + 1], 0x3f
mov dword [ebp + 0x40], 0x5f
jne 0x44b73e
mov al, byte [esi + 2]
cmp al, 0x3d
je 0x44bd85
cmp al, 0x21
je 0x44bd85
cmp al, 0x3c
je 0x44bd85
or dword [ebp + 0x4c], 0xffffffff
mov byte [ebx + 3], 0x63
mov dword [ebp + 0x3c], edx
mov edx, dword [ebp + 0x50]
lea eax, [edx + 1]
mov cl, byte [eax]
cmp cl, 0x52
jne 0x44b76b
add edx, 2
cmp byte [edx], 0x26
jne 0x44b76b
or dword [ebp + 0x44], 0xffffffff
mov dword [ebp + 0x50], edx
mov byte [ebx + 3], 0x64
jmp 0x44b7a1
cmp cl, 0x3c
jne 0x44b77c
mov dword [ebp + 0x44], 0x3e
mov dword [ebp + 0x50], eax
jmp 0x44b7a1
cmp cl, 0x27
jne 0x44b78a
mov dword [ebp + 0x44], 0x27
jmp 0x44b777
and dword [ebp + 0x44], 0
cmp cl, 0x2d
je 0x44b798
cmp cl, 0x2b
jne 0x44b7a1
mov dword [ebp + 0x50], eax
movzx eax, byte [eax]
mov dword [ebp + 0x4c], eax
mov esi, dword [ebp + 0x50]
mov ecx, dword [edi + 0xc]
inc esi
movzx eax, byte [esi]
test byte [eax + ecx], 0x10
je 0x44d1e9
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor edx, edx
test byte [ecx + eax], 0x10
mov dword [ebp + 0x48], edx
mov dword [ebp + 0x38], esi
je 0x44b7f2
test edx, edx
jl 0x44b7e2
test byte [eax + 0x452150], 4
je 0x44b7df
lea edx, [edx + edx*4]
lea edx, [eax + edx*2 - 0x30]
jmp 0x44b7e2
or edx, 0xffffffff
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [ecx + eax], 0x10
jne 0x44b7c9
mov dword [ebp + 0x48], edx
mov eax, esi
sub eax, dword [ebp + 0x38]
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x24], eax
jle 0x44b810
movzx eax, byte [esi]
inc esi
cmp eax, dword [ebp + 0x44]
mov dword [ebp + 0x50], esi
jne 0x44d1fa
mov al, byte [esi]
inc esi
cmp al, 0x29
mov dword [ebp + 0x50], esi
jne 0x44d1fa
cmp dword [ebp + 0x7c], 0
jne 0x44bd85
cmp dword [ebp + 0x4c], 0
jle 0x44b866
test edx, edx
jle 0x44d22c
cmp dword [ebp + 0x4c], 0x2d
jne 0x44b856
mov eax, dword [edi + 0x30]
sub eax, edx
inc eax
mov edx, eax
test edx, edx
jg 0x44b859
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xf
jmp 0x44d324
add edx, dword [edi + 0x30]
mov eax, edx
sar eax, 8
mov byte [ebx + 5], dl
jmp 0x44bd82
and dword [ebp + 0x4c], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x44b897
push dword [ebp + 0x24]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x38]
call sub.MSVCR71.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44b897
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jl 0x44b873
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jge 0x44b8b5
movzx eax, byte [esi + 1]
mov ah, byte [esi]
mov ecx, eax
sar ecx, 8
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x44bd85
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x50]
shr eax, 3
xor esi, esi
inc esi
and eax, esi
push eax
push dword [ebp + 0x24]
mov eax, dword [edi + 0x30]
push dword [ebp + 0x38]
call fcn.0044a739
add esp, 0xc
test eax, eax
jg 0x44b8a5
xor eax, eax
cmp dword [ebp + 0x44], eax
jne 0x44b848
mov edx, dword [ebp + 0x38]
cmp byte [edx], 0x52
jne 0x44b91e
cmp dword [ebp + 0x24], esi
jle 0x44b913
movzx ecx, byte [esi + edx]
test byte [ecx + 0x452150], 4
je 0x44b848
inc esi
cmp esi, dword [ebp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
jl 0x44b8f1
test eax, eax
jne 0x44b918
mov eax, 0xffff
mov byte [ebx + 3], 0x64
jmp 0x44b8a5
cmp dword [ebp + 0x24], 6
jne 0x44b946
push 6
push str.DEFINE
push dword [ebp + 0x38]
call sub.MSVCR71.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x44b946
mov byte [ebx + 3], 0x65
mov dword [ebp + 0x3c], esi
jmp 0x44bd85
mov eax, dword [ebp + 0x48]
test eax, eax
jg 0x44b8a5
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov ecx, dword [ebp + 0x68]
mov dword [ecx], eax
jmp 0x44d324
push 0x29
pop ecx
mov dword [ebp + 0x3c], 1
jmp 0x44c0d0
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
je 0x44b995
cmp al, 0x29
je 0x44b98c
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
jne 0x44b97e
cmp byte [esi], 0
jne 0x44d1c3
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x12
jmp 0x44d324
inc esi
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x29
jne 0x44b9b5
mov byte [ebx], 0x6c
inc ebx
jmp 0x44bb52
mov dword [ebp + 0x40], 0x58
and dword [ebp + 0x4c], 0
mov eax, dword [ebp + 0x40]
mov byte [ebx], al
mov ecx, dword [edi + 0x44]
and dword [ebp + 8], 0
cmp eax, 0x59
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x44], ecx
je 0x44bdb6
cmp eax, 0x5a
je 0x44bdb6
xor eax, eax
jmp 0x44bdb9
sub eax, 0x3a
je 0x44ba22
push 2
pop edx
sub eax, edx
je 0x44bc24
dec eax
je 0x44bc17
dec eax
je 0x44bc0b
sub eax, 0x12
je 0x44bbd6
sub eax, edx
je 0x44ba32
sub eax, 0x2a
jne 0x44ba65
mov dword [ebp - 0x10], 1
mov dword [ebp + 0x40], 0x5d
inc esi
mov dword [ebp + 0x50], esi
jmp 0x44bd85
inc esi
mov dword [ebp + 0x50], esi
mov cl, byte [esi]
movzx edx, cl
cmp edx, 0x2b
mov dword [ebp + 0x4c], edx
jne 0x44ba49
inc esi
jmp 0x44bb60
cmp edx, 0x2d
jne 0x44bb63
lea eax, [esi + 1]
movzx edx, byte [eax]
test byte [edx + 0x452150], 4
jne 0x44bb5b
and dword [ebp + 0x40], 0
and dword [ebp + 0x44], 0
lea eax, [ebp + 0x44]
jmp 0x44bade
cmp cl, 0x3a
je 0x44bae3
movzx ecx, cl
inc esi
cmp ecx, 0x69
mov dword [ebp + 0x50], esi
jg 0x44babc
je 0x44bab7
cmp ecx, 0x2d
je 0x44bab2
cmp ecx, 0x4a
je 0x44baa8
cmp ecx, 0x55
je 0x44baa2
cmp ecx, 0x58
jne 0x44d20c
or dword [eax], 0x40
jmp 0x44badc
or byte [eax + 1], 2
jmp 0x44badc
or byte [eax + 2], 8
or dword [edi + 0x40], 0x10
jmp 0x44badc
lea eax, [ebp + 0x40]
jmp 0x44badc
or dword [eax], 1
jmp 0x44badc
cmp ecx, 0x6d
je 0x44bad9
cmp ecx, 0x73
je 0x44bad4
cmp ecx, 0x78
jne 0x44d20c
or dword [eax], 8
jmp 0x44badc
or dword [eax], 4
jmp 0x44badc
or dword [eax], 2
mov cl, byte [esi]
cmp cl, 0x29
jne 0x44ba72
mov eax, dword [ebp + 0x44]
or eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x40]
not ecx
and eax, ecx
cmp byte [esi], 0x29
mov dword [ebp + 0x34], eax
jne 0x44ba22
mov ecx, dword [edi + 0x14]
add ecx, 3
cmp ebx, ecx
jne 0x44bb1a
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x44bb12
cmp dword [ecx], 6
jne 0x44bb1a
mov dword [edi + 0x3c], eax
mov dword [ebp + 0x28], eax
jmp 0x44bb52
mov ecx, eax
xor ecx, dword [ebp + 0x28]
test cl, 7
je 0x44bb30
mov byte [ebx], 0x18
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x5c]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [ebp + 0x28], eax
mov dword [ebp - 0x48], ecx
xor ecx, 1
and eax, 1
shl eax, 8
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], eax
and dword [ebp + 0x4c], 0
jmp 0x44d1c3
mov edx, dword [ebp + 0x4c]
mov esi, eax
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor ecx, ecx
test byte [eax + 0x452150], 4
mov dword [ebp + 0x48], ecx
je 0x44bb8e
inc esi
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + 0x452150], 4
jne 0x44bb74
mov dword [ebp + 0x48], ecx
cmp byte [esi], 0x29
jne 0x44d21e
cmp edx, 0x2d
jne 0x44bbba
test ecx, ecx
je 0x44d22c
mov eax, dword [edi + 0x30]
sub eax, ecx
inc eax
test eax, eax
mov dword [ebp + 0x48], eax
jle 0x44b848
jmp 0x44c191
cmp edx, 0x2b
jne 0x44c191
test ecx, ecx
je 0x44d22c
add ecx, dword [edi + 0x30]
mov dword [ebp + 0x48], ecx
jmp 0x44c191
inc esi
mov dword [ebp + 0x50], esi
mov cl, byte [esi]
cmp cl, 0x3d
je 0x44bbf9
cmp cl, 0x3e
je 0x44bbf9
cmp cl, 0x3c
je 0x44bc47
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x29
jmp 0x44d324
xor eax, eax
cmp cl, 0x3e
sete al
push 0x29
mov dword [ebp + 0x3c], eax
jmp 0x44c0bf
mov dword [ebp + 0x40], 0x5c
jmp 0x44ba29
mov dword [ebp + 0x40], 0x57
inc esi
jmp 0x44bd9f
mov al, byte [esi + 1]
cmp al, 0x21
je 0x44bd96
cmp al, 0x3d
je 0x44bd8d
mov edx, dword [edi + 0xc]
movzx eax, al
test byte [eax + edx], 0x10
je 0x44d248
mov edx, dword [edi + 0xc]
xor eax, eax
cmp cl, 0x3c
setne al
dec eax
and eax, 0x17
add eax, 0x27
inc esi
mov dword [ebp + 0x50], esi
mov ecx, eax
movzx eax, byte [esi]
test byte [eax + edx], 0x10
mov dword [ebp + 0x38], esi
je 0x44bc7a
mov eax, edx
inc esi
mov dword [ebp + 0x50], esi
movzx edx, byte [esi]
test byte [edx + eax], 0x10
jne 0x44bc6d
mov eax, esi
sub eax, dword [ebp + 0x38]
cmp dword [ebp + 0x7c], 0
mov dword [ebp + 0x24], eax
je 0x44bcc6
movzx edx, byte [esi]
cmp edx, ecx
jne 0x44d284
cmp dword [edi + 0x28], 0x2710
jge 0x44d23a
lea ecx, [eax + 3]
cmp ecx, dword [edi + 0x2c]
jle 0x44bd65
cmp eax, 0x20
mov dword [edi + 0x2c], ecx
jle 0x44bd65
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x30
jmp 0x44d324
and dword [ebp + 0x4c], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x44bd37
push dword [ebp + 0x24]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x38]
call sub.MSVCR71.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44bd0c
mov eax, dword [ebp + 0x24]
cmp byte [esi + eax + 2], 0
jne 0x44bd07
test byte [ebp + 0x2a], 8
jne 0x44bd0e
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2b
jmp 0x44d324
or eax, 0xffffffff
test eax, eax
jl 0x44bd1e
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jl 0x44bcd3
jmp 0x44bd37
mov ecx, dword [edi + 0x28]
mov eax, dword [edi + 0x2c]
sub ecx, dword [ebp + 0x4c]
imul ecx, eax
push ecx
add eax, esi
push esi
push eax
call sub.MSVCR71.dll_memmove
add esp, 0xc
mov eax, dword [edi + 0x30]
push dword [ebp + 0x24]
inc eax
push dword [ebp + 0x38]
sar eax, 8
mov byte [esi], al
mov al, byte [edi + 0x30]
inc al
mov byte [esi + 1], al
lea eax, [esi + 2]
push eax
call sub.MSVCR71.dll_memcpy
mov eax, dword [ebp + 0x24]
mov byte [esi + eax + 2], 0
mov esi, dword [ebp + 0x50]
add esp, 0xc
inc esi
inc dword [edi + 0x28]
mov dword [ebp + 0x50], esi
inc dword [edi + 0x30]
mov eax, dword [edi + 0x30]
sar eax, 8
mov byte [ebx + 3], al
mov al, byte [edi + 0x30]
mov dword [ebp + 0x3c], 2
mov byte [ebx + 4], al
mov dword [ebp + 0x4c], ebx
jmp 0x44b9c0
mov dword [ebp + 0x40], 0x59
jmp 0x44bd9d
mov dword [ebp + 0x40], 0x5a
add esi, edx
mov dword [ebp + 0x50], esi
jmp 0x44b9bc
test byte [ebp + 0x29], 0x10
je 0x44bd6c
mov dword [ebp + 0x40], 0x5d
jmp 0x44bd85
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x7c]
neg ecx
sbb ecx, ecx
lea edx, [ebp + 8]
and ecx, edx
push ecx
push edi
push dword [ebp + 0x74]
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp - 0x40]
push ecx
push dword [ebp + 0x3c]
push dword [ebp - 0x10]
push eax
push dword [ebp + 0x68]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x28]
and eax, 7
push eax
push dword [ebp + 0x34]
call fcn.0044d336
add esp, 0x34
test eax, eax
je 0x44d324
mov edx, dword [ebp + 0x40]
cmp edx, 0x5f
jne 0x44be31
xor esi, esi
cmp dword [ebp + 0x7c], esi
jne 0x44be31
mov eax, ebx
xor ecx, ecx
mov ch, byte [eax + 1]
inc esi
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x54
jne 0x44be0f
cmp byte [ebx + 3], 0x65
jne 0x44be86
cmp esi, 1
jg 0x44d25a
push 0x65
pop edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 0x50]
cmp byte [ecx], 0x29
jne 0x44d276
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x44be9f
mov eax, dword [ecx]
mov ecx, dword [ebp + 8]
mov edx, 0x7fffffeb
sub edx, eax
lea esi, [ecx - 6]
cmp edx, esi
jl 0x44d31b
lea eax, [eax + ecx - 6]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx], eax
mov byte [ebx], 0x5d
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
inc ebx
inc ebx
mov byte [ebx], 0x54
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
inc ebx
inc ebx
jmp 0x44d1c3
cmp esi, 2
jg 0x44d268
cmp esi, 1
jne 0x44be31
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x40], eax
jmp 0x44be34
cmp edx, 0x65
mov ebx, dword [ebp + 0x1c]
je 0x44d1c3
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x2c]
xor esi, esi
cmp edx, 0x5c
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x44], esi
jl 0x44bf03
cmp ecx, 0xfffffffe
jne 0x44bee0
cmp eax, esi
jl 0x44bed6
mov dword [ebp + 0x2c], eax
mov dword [ebp - 0x44], 1
jmp 0x44beda
or dword [ebp + 0x2c], 0xffffffff
or dword [ebp + 0x10], 0xffffffff
jmp 0x44beef
cmp eax, esi
jl 0x44beef
cmp dword [ebp - 0xc], esi
jge 0x44bef8
or eax, dword [ebp + 0x44]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], esi
jl 0x44d1c3
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x44d1c3
cmp edx, 0x57
jne 0x44d1c3
mov eax, dword [ebp - 0xc]
cmp eax, esi
jl 0x44d1c3
jmp 0x44befb
mov dword [ebp + 0x4c], ecx
mov byte [ebx], 0x1a
jmp 0x44c993
cmp dword [ebp + 0x2c], 0xfffffffe
jne 0x44bf2e
or dword [ebp + 0x2c], 0xffffffff
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x4c], ebx
mov byte [ebx], 0xc
jmp 0x44c993
mov eax, edx
sub eax, 0x3f
je 0x44ca49
sub eax, 0x1c
je 0x44c324
dec eax
je 0x44c006
dec eax
dec eax
je 0x44bfeb
sub eax, 0x1d
je 0x44bfb6
dec eax
jne 0x44bfbb
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x2c]
mov dword [eax], edx
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x7c]
cmp edx, ecx
mov dword [eax], ebx
mov eax, dword [ebp + 0x64]
mov dword [eax], esi
je 0x44bfae
mov eax, dword [edx]
mov ecx, ebx
sub ecx, dword [ebp - 8]
mov esi, 0x7fffffeb
sub esi, eax
cmp esi, ecx
jl 0x44d31b
sub eax, dword [ebp - 8]
add eax, ebx
mov dword [edx], eax
xor eax, eax
inc eax
jmp 0x44d32e
cmp dword [ebp + 0x34], ecx
jne 0x44bfc2
mov al, dl
jmp 0x44c99c
mov esi, dword [ebp + 0x68]
push esi
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x50]
inc eax
call fcn.0044a6a4
add esp, 0xc
cmp dword [esi], 0
mov dword [ebp + 0x50], eax
jne 0x44d324
jmp 0x44ca53
test byte [ebp + 0x28], 2
je 0x44bffb
cmp dword [ebp + 0x2c], 0xfffffffe
jne 0x44bffb
or dword [ebp + 0x2c], 0xffffffff
mov dword [ebp + 0x4c], ecx
mov byte [ebx], 0x19
jmp 0x44c993
mov eax, dword [ebp + 0x50]
mov esi, dword [ebp + 0x68]
push 0
push dword [ebp + 0x28]
mov dword [ebp - 0x34], eax
push dword [edi + 0x30]
lea eax, [ebp + 0x50]
push esi
push eax
call fcn.0044a349
add esp, 0x14
cmp dword [esi], 0
jne 0x44d324
test eax, eax
jge 0x44c99c
mov esi, eax
neg esi
cmp esi, 0x19
jne 0x44c063
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x44c057
add eax, 2
cmp byte [eax], 0x45
jne 0x44c057
mov dword [ebp + 0x50], eax
jmp 0x44d1c3
mov dword [ebp + 0x14], 1
jmp 0x44d1c3
cmp esi, 0x18
je 0x44d1c3
cmp dword [ebp + 0x2c], 0xfffffffe
jne 0x44c080
cmp esi, 5
jle 0x44c080
cmp esi, 0x16
jge 0x44c080
or dword [ebp + 0x2c], 0xffffffff
cmp esi, 0x1a
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0xc], ecx
jne 0x44c2a4
mov ecx, dword [ebp + 0x50]
inc ecx
mov dl, byte [ecx]
cmp dl, 0x3c
je 0x44c0ae
cmp dl, 0x27
je 0x44c0ae
cmp dl, 0x7b
jne 0x44c2a4
and dword [ebp + 0x3c], 0
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x3c
mov esi, ecx
jne 0x44c0c2
push 0x3e
pop ecx
jmp 0x44c0d0
xor ecx, ecx
cmp al, 0x27
setne cl
dec ecx
and ecx, 0xffffffaa
add ecx, 0x7d
mov edx, dword [edi + 0xc]
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + edx], 0x10
mov dword [ebp + 0x38], esi
je 0x44c0f2
mov eax, edx
inc esi
mov dword [ebp + 0x50], esi
movzx edx, byte [esi]
test byte [edx + eax], 0x10
jne 0x44c0e5
mov eax, esi
sub eax, dword [ebp + 0x38]
cmp dword [ebp + 0x7c], 0
mov dword [ebp + 0x24], eax
je 0x44c11a
movzx edx, byte [esi]
cmp edx, ecx
jne 0x44d284
cmp eax, 0x20
jg 0x44bcb8
and dword [ebp + 0x48], 0
jmp 0x44c187
and dword [ebp + 0x4c], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x44c14b
push dword [ebp + 0x24]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x38]
call sub.MSVCR71.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44c14b
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jl 0x44c127
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jge 0x44c15e
movzx eax, byte [esi + 1]
mov ah, byte [esi]
mov dword [ebp + 0x48], eax
jmp 0x44c187
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x50]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x24]
mov eax, dword [edi + 0x30]
push dword [ebp + 0x38]
call fcn.0044a739
add esp, 0xc
test eax, eax
mov dword [ebp + 0x48], eax
jle 0x44b848
cmp dword [ebp + 0x3c], 0
je 0x44c2b1
mov eax, dword [edi + 0x14]
xor esi, esi
cmp dword [ebp + 0x7c], esi
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x44], eax
jne 0x44c212
cmp dword [ebp + 0x48], esi
mov byte [ebx], 0
je 0x44c1b8
push dword [ebp + 0x48]
mov eax, dword [edi + 0x14]
call fcn.0044aa9d
pop ecx
mov dword [ebp + 0x44], eax
cmp eax, esi
jne 0x44c25f
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x50]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x48]
mov eax, dword [edi + 0x30]
push esi
call fcn.0044a739
add esp, 0xc
test eax, eax
jl 0x44b848
mov eax, dword [edi + 0x14]
mov ecx, dword [ebp + 0x48]
add ecx, eax
mov dword [ebp + 0x44], ecx
mov ecx, ebx
sub ecx, eax
mov eax, dword [edi + 0x20]
add ecx, 4
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [edi + 0x20]
mov al, bl
sub al, byte [edi + 0x14]
add al, 4
mov byte [ecx + 1], al
add dword [edi + 0x20], 2
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x5c
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov byte [ebx], 0x51
mov ecx, eax
sub ecx, dword [edi + 0x14]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [edi + 0x14]
mov byte [ebx - 1], al
mov byte [ebx], 0x54
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
cmp dword [ebp + 0x2c], 0xfffffffe
mov dword [ebp + 8], 9
jne 0x44d1c3
or dword [ebp + 0x2c], 0xffffffff
jmp 0x44d1c3
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x44c212
mov esi, dword [ebp + 0x74]
test esi, esi
je 0x44d292
mov ecx, dword [esi + 4]
cmp ecx, eax
jb 0x44d292
push 0
push ebx
push ecx
call fcn.0044ab0a
add esp, 0xc
test eax, eax
je 0x44c20f
mov esi, dword [esi]
test esi, esi
je 0x44d292
mov eax, dword [ebp + 0x44]
jmp 0x44c276
cmp esi, 0x1b
jl 0x44c2ef
push 0xffffffffffffffe5
pop ecx
sub ecx, eax
mov dword [ebp + 0x48], ecx
cmp dword [ebp + 0x2c], 0xfffffffe
jne 0x44c2bb
or dword [ebp + 0x2c], 0xffffffff
mov ecx, dword [ebp + 0x48]
mov byte [ebx], 0x50
mov dword [ebp + 0x4c], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
xor eax, eax
inc ebx
inc eax
cmp ecx, 0x20
jge 0x44c2db
shl eax, cl
or dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x34]
jle 0x44d1c3
mov dword [edi + 0x34], ecx
jmp 0x44d1c3
cmp esi, 0x15
je 0x44d2a0
cmp esi, 0xe
je 0x44d2a0
cmp esi, 0xf
je 0x44d2a0
cmp esi, 5
jle 0x44c319
cmp esi, 0x16
jge 0x44c319
mov dword [ebp + 0x4c], ebx
jmp 0x44c31d
and dword [ebp + 0x4c], 0
neg al
jmp 0x44c991
mov al, byte [esi + 1]
cmp al, 0x3a
mov dword [ebp + 0x4c], ebx
je 0x44c336
cmp al, 0x2e
je 0x44c336
cmp al, 0x3d
jne 0x44c34d
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0x50]
mov ecx, edi
call fcn.0044ac9d
test eax, eax
pop ecx
jne 0x44d2ab
and dword [ebp + 0x38], 0
mov eax, dword [ebp + 0x50]
inc eax
mov dword [ebp + 0x50], eax
movzx esi, byte [eax]
cmp esi, 0x5c
mov dword [ebp + 0x48], esi
jne 0x44c388
inc eax
cmp byte [eax], 0x45
jne 0x44c36e
mov dword [ebp + 0x50], eax
jmp 0x44c351
push 3
push 0x452254
push eax
call sub.MSVCR71.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x44c39c
add dword [ebp + 0x50], 3
jmp 0x44c351
cmp dword [ebp + 0x38], 0
jne 0x44c39c
cmp esi, 0x5e
jne 0x44c39c
mov dword [ebp + 0x38], 1
jmp 0x44c351
and dword [ebp + 0x40], 0
or dword [ebp + 0x3c], 0xffffffff
push 0x20
lea eax, [ebp - 0x30]
push 0
push eax
call sub.MSVCR71.dll_memset
add esp, 0xc
test esi, esi
je 0x44d2ef
cmp dword [ebp + 0x14], 0
je 0x44c3e1
cmp esi, 0x5c
jne 0x44c752
mov eax, dword [ebp + 0x50]
inc eax
cmp byte [eax], 0x45
jne 0x44c752
and dword [ebp + 0x14], 0
jmp 0x44c57c
cmp esi, 0x5b
jne 0x44c512
mov edx, dword [ebp + 0x50]
mov al, byte [edx + 1]
cmp al, 0x3a
je 0x44c400
cmp al, 0x2e
je 0x44c400
cmp al, 0x3d
jne 0x44c752
lea eax, [ebp - 0x34]
push eax
mov ecx, edi
mov eax, edx
call fcn.0044ac9d
test eax, eax
pop ecx
je 0x44c752
mov eax, dword [edi + 8]
and dword [ebp + 0x34], 0
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x3a
jne 0x44d2c3
inc eax
inc eax
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5e
jne 0x44c442
inc eax
mov dword [ebp + 0x34], 1
mov dword [ebp + 0x50], eax
mov ecx, dword [ebp - 0x34]
sub ecx, eax
push ecx
push eax
call fcn.0044acd3
test eax, eax
pop ecx
pop ecx
jl 0x44d2ce
test byte [ebp + 0x28], 1
je 0x44c465
cmp eax, 2
jg 0x44c465
xor eax, eax
lea eax, [eax + eax*2]
mov esi, eax
shl esi, 2
mov eax, dword [esi + 0x4517e8]
add eax, dword [ebp + 0x44]
push 0x20
push eax
lea eax, [ebp - 0x70]
push eax
call sub.MSVCR71.dll_memcpy
mov eax, dword [esi + 0x4517ec]
mov edx, dword [esi + 0x4517f0]
add esp, 0xc
test eax, eax
jl 0x44c4be
mov esi, dword [ebp + 0x44]
xor ecx, ecx
add esi, eax
test edx, edx
jl 0x44c4af
mov al, byte [ecx + esi]
or byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x20
jl 0x44c4a0
jmp 0x44c4be
mov al, byte [ecx + esi]
not al
and byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x20
jl 0x44c4af
xor eax, eax
cmp edx, eax
jge 0x44c4c6
neg edx
cmp edx, 1
jne 0x44c4d1
and byte [ebp - 0x6f], 0xc3
jmp 0x44c4da
cmp edx, 2
jne 0x44c4da
and byte [ebp - 0x65], 0x7f
cmp dword [ebp + 0x34], eax
je 0x44c4f1
mov cl, byte [ebp + eax - 0x70]
not cl
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x44c4df
jmp 0x44c4ff
mov cl, byte [ebp + eax - 0x70]
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x44c4f1
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x40], 0xa
jmp 0x44c93d
cmp esi, 0x5c
jne 0x44c752
push 1
push dword [ebp + 0x28]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
push dword [ebp + 0x68]
push eax
call fcn.0044a349
mov esi, eax
mov eax, dword [ebp + 0x68]
add esp, 0x14
cmp dword [eax], 0
mov dword [ebp + 0x48], esi
jne 0x44d324
mov edx, esi
neg edx
cmp edx, 5
jne 0x44c550
push 8
jmp 0x44c560
cmp edx, 0x15
jne 0x44c559
push 0x58
jmp 0x44c560
cmp edx, 0x10
jne 0x44c566
push 0x52
pop esi
jmp 0x44c74f
cmp edx, 0x19
jne 0x44c590
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x44c584
add eax, 2
cmp byte [eax], 0x45
jne 0x44c584
mov dword [ebp + 0x50], eax
jmp 0x44c93d
mov dword [ebp + 0x14], 1
jmp 0x44c93d
cmp edx, 0x18
je 0x44c93d
test esi, esi
jge 0x44c752
add dword [ebp + 0x40], 2
cmp dword [ebp + 0x7c], 0
mov eax, dword [edi + 8]
jne 0x44c676
mov ecx, edx
sub ecx, 6
je 0x44c65f
dec ecx
je 0x44c64a
dec ecx
je 0x44c629
dec ecx
je 0x44c60a
dec ecx
je 0x44c5f0
dec ecx
je 0x44c5d8
sub ecx, 0xd
jmp 0x44c6a6
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x44c5da
jmp 0x44c93d
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x44c5f2
jmp 0x44c93d
lea ecx, [ebp - 0x30]
xor esi, esi
sub eax, ecx
lea ecx, [ebp + esi - 0x30]
mov dl, byte [eax + ecx]
or byte [ecx], dl
inc esi
cmp esi, 0x20
jl 0x44c611
and byte [ebp - 0x2f], 0xf7
jmp 0x44c93d
lea ecx, [ebp - 0x30]
xor esi, esi
sub eax, ecx
lea ecx, [ebp + esi - 0x30]
mov dl, byte [eax + ecx]
not dl
or byte [ecx], dl
inc esi
cmp esi, 0x20
jl 0x44c630
or byte [ebp - 0x2f], 8
jmp 0x44c93d
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x44c64c
jmp 0x44c93d
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x44c661
jmp 0x44c93d
cmp esi, 0xfffffff9
je 0x44c93d
cmp esi, 0xfffffffa
je 0x44c93d
cmp esi, 0xfffffff5
je 0x44c93d
cmp esi, 0xfffffff6
je 0x44c93d
cmp esi, 0xfffffff7
je 0x44c93d
cmp esi, 0xfffffff8
je 0x44c93d
cmp edx, 0x12
jne 0x44c6c2
or byte [ebp - 0x2f], 2
or byte [ebp - 0x2c], 1
or byte [ebp - 0x1c], 1
jmp 0x44c93d
cmp edx, 0x11
jne 0x44c6fa
xor ecx, ecx
mov esi, 0xfe
mov eax, ecx
dec eax
mov edx, 0xff
je 0x44c6e6
sub eax, 3
je 0x44c6e2
sub eax, 0x10
jne 0x44c6eb
mov edx, esi
jmp 0x44c6eb
mov edx, 0xfd
or byte [ebp + ecx - 0x30], dl
inc ecx
cmp ecx, 0x20
jl 0x44c6ce
jmp 0x44c93d
cmp edx, 0x14
jne 0x44c70c
or byte [ebp - 0x2f], 0x3c
or byte [ebp - 0x20], 0x20
jmp 0x44c93d
cmp edx, 0x13
jne 0x44c73b
xor eax, eax
mov edx, eax
dec edx
mov ecx, 0xff
je 0x44c727
sub edx, 0xf
jne 0x44c72c
add ecx, 0xffffffe0
jmp 0x44c72c
mov ecx, 0xc3
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x44c713
jmp 0x44c93d
test byte [ebp + 0x28], 0x40
jne 0x44d2d9
mov eax, dword [ebp + 0x50]
sub dword [ebp + 0x40], 2
movzx esi, byte [eax]
mov dword [ebp + 0x48], esi
mov edx, dword [ebp + 0x50]
jmp 0x44c768
lea eax, [edx + 2]
cmp byte [eax], 0x45
jne 0x44c76e
and dword [ebp + 0x14], 0
mov edx, eax
mov dword [ebp + 0x50], edx
cmp byte [edx + 1], 0x5c
je 0x44c757
cmp esi, 0xd
mov ecx, edx
mov dword [ebp + 0x34], ecx
je 0x44c77d
cmp esi, 0xa
jne 0x44c781
or dword [edi + 0x40], 0x20
cmp dword [ebp + 0x14], 0
jne 0x44c8f4
cmp byte [edx + 1], 0x2d
jne 0x44c8f4
push 2
pop eax
add edx, eax
mov dword [ebp + 0x50], edx
cmp byte [edx], 0x5c
jne 0x44c7dd
cmp byte [edx + 1], 0x45
jne 0x44c7cf
add edx, eax
mov dword [ebp + 0x50], edx
cmp byte [edx], 0x5c
je 0x44c7a2
jmp 0x44c7cf
cmp byte [edx + 1], 0x51
jne 0x44c7dd
add edx, eax
mov dword [ebp + 0x50], edx
cmp byte [edx], 0x5c
jne 0x44c7d6
cmp byte [edx + 1], 0x45
jne 0x44c7d6
add edx, eax
mov dword [ebp + 0x50], edx
cmp byte [edx], 0x5c
je 0x44c7b4
jmp 0x44c7dd
mov dword [ebp + 0x14], 1
mov al, byte [edx]
test al, al
je 0x44c8f1
cmp dword [ebp + 0x14], 0
jne 0x44c7f5
cmp al, 0x5d
je 0x44c8f1
cmp dword [ebp + 0x14], 0
movzx eax, al
mov dword [ebp + 0x44], eax
jne 0x44c83f
cmp eax, 0x5c
jne 0x44c83f
push 1
push dword [ebp + 0x28]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
push dword [ebp + 0x68]
push eax
call fcn.0044a349
mov ecx, dword [ebp + 0x68]
add esp, 0x14
cmp dword [ecx], 0
mov dword [ebp + 0x44], eax
jne 0x44d324
test eax, eax
jge 0x44c83f
cmp eax, 0xfffffffb
jne 0x44c8d1
push 8
pop eax
mov dword [ebp + 0x44], eax
cmp eax, esi
jl 0x44d2e4
je 0x44c8f4
cmp eax, 0xd
je 0x44c857
cmp eax, 0xa
jne 0x44c85b
or dword [edi + 0x40], 0x20
mov edx, dword [ebp + 0x40]
mov ecx, eax
sub ecx, esi
cmp dword [ebp + 0x7c], 0
lea ecx, [edx + ecx + 1]
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x3c], eax
jne 0x44c93d
cmp esi, eax
jg 0x44c93d
mov eax, dword [ebp + 0x28]
and eax, 1
mov dword [ebp + 0x34], eax
mov ecx, dword [ebp + 0x48]
mov eax, ecx
cdq
push 8
pop esi
idiv esi
and ecx, 7
lea esi, [ebp + eax - 0x30]
mov al, 1
shl al, cl
or byte [esi], al
cmp dword [ebp + 0x34], 0
je 0x44c8c4
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x48]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
push 8
pop esi
idiv esi
and ecx, 7
lea esi, [ebp + eax - 0x30]
mov al, 1
shl al, cl
or byte [esi], al
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
cmp eax, dword [ebp + 0x44]
jle 0x44c887
jmp 0x44c93d
cmp eax, 0xffffffeb
jne 0x44c8dd
push 0x58
jmp 0x44c83b
cmp eax, 0xfffffff0
jne 0x44c8e9
push 0x52
jmp 0x44c83b
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x50], eax
jmp 0x44c8f4
mov dword [ebp + 0x50], ecx
mov ecx, dword [ebp + 0x48]
mov eax, ecx
cdq
push 8
pop esi
idiv esi
and ecx, 7
lea esi, [ebp + eax - 0x30]
mov al, 1
shl al, cl
or byte [esi], al
test byte [ebp + 0x28], 1
je 0x44c934
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x48]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
push 8
pop esi
idiv esi
mov dword [ebp + 0x48], ecx
and ecx, 7
lea esi, [ebp + eax - 0x30]
mov al, 1
shl al, cl
or byte [esi], al
mov eax, dword [ebp + 0x48]
inc dword [ebp + 0x40]
mov dword [ebp + 0x3c], eax
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
test esi, esi
mov dword [ebp + 0x48], esi
je 0x44d2ef
cmp esi, 0x5d
jne 0x44c3bc
xor eax, eax
cmp dword [ebp + 0x14], eax
jne 0x44c3bc
cmp dword [ebp + 0x40], 1
jne 0x44c9f3
cmp dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0xc], ecx
je 0x44c999
cmp dword [ebp + 0x2c], 0xfffffffe
jne 0x44c984
or dword [ebp + 0x2c], 0xffffffff
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 0x10], eax
mov al, byte [ebp + 0x3c]
mov byte [ebx], 0x1d
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x44d1c3
mov al, byte [ebp + 0x3c]
test byte [ebp + 0x28], 1
mov dword [ebp + 0x4c], ebx
setne cl
add cl, 0x1b
mov byte [ebx], cl
inc ebx
mov byte [ebx], al
inc ebx
cmp al, 0xd
je 0x44c9b7
cmp al, 0xa
jne 0x44c9bb
or dword [edi + 0x40], 0x20
mov ecx, dword [ebp + 0x2c]
cmp ecx, 0xfffffffe
jne 0x44c9db
or dword [ebp + 0x10], 0xffffffff
mov ecx, dword [ebp + 0x18]
movzx eax, al
or eax, dword [ebp - 0x38]
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x2c], eax
jmp 0x44d1c3
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x44]
mov dword [ebp + 0x10], ecx
or eax, dword [ebp - 0x38]
jmp 0x44befb
cmp dword [ebp + 0x2c], 0xfffffffe
jne 0x44c9fd
or dword [ebp + 0x2c], 0xffffffff
cmp dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0xc], ecx
je 0x44ca2e
mov byte [ebx], 0x4e
inc ebx
cmp dword [ebp + 0x7c], eax
jne 0x44ca41
lea eax, [ebp - 0x30]
push 0x20
mov esi, ebx
sub eax, ebx
pop ecx
mov dl, byte [eax + esi]
not dl
mov byte [esi], dl
inc esi
dec ecx
jne 0x44ca21
jmp 0x44ca41
push 0x20
lea eax, [ebp - 0x30]
mov byte [ebx], 0x4d
push eax
inc ebx
push ebx
call sub.MSVCR71.dll_memcpy
add esp, 0xc
add ebx, 0x20
jmp 0x44d1c3
mov dword [ebp + 0x30], 1
mov dword [ebp + 0x20], ecx
cmp dword [ebp + 0x4c], 0
je 0x44d2fa
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x44ca70
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 0x2c], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x18], ecx
sub eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x50]
neg eax
sbb eax, eax
and dword [ebp + 0x3c], 0
and dword [ebp + 0x24], 0
and eax, 0x200
mov esi, edx
inc ecx
mov dword [ebp - 0x50], eax
mov dword [ebp + 0x1c], esi
mov al, byte [ecx]
cmp al, 0x2b
jne 0x44caa7
xor eax, eax
mov dword [ebp + 0x24], 1
mov dword [ebp + 0x50], ecx
jmp 0x44cab6
cmp al, 0x3f
jne 0x44cab3
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 0x50], ecx
jmp 0x44cab6
mov eax, dword [ebp - 0x48]
mov cl, byte [edx]
cmp cl, 0x1b
mov dword [ebp + 0x38], eax
je 0x44cf41
cmp cl, 0x1c
je 0x44cf41
cmp cl, 0x1d
jne 0x44cb06
cmp dword [ebp + 0x24], 0
movzx eax, byte [edx + 1]
mov dword [ebp + 0x3c], 0xd
mov dword [ebp + 0x48], eax
jne 0x44cf8d
cmp dword [ebp + 0x30], 0
jge 0x44cf8d
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push dword [ebp + 0x48]
push 0x1d
jmp 0x44cf74
cmp cl, 0x16
jae 0x44cb3e
cmp dword [ebp + 0x24], 0
movzx eax, cl
mov dword [ebp + 0x3c], 0x1a
mov dword [ebp + 0x48], eax
jne 0x44cf8d
cmp dword [ebp + 0x30], 0
jge 0x44cf8d
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push 0
push dword [ebp + 0x48]
jmp 0x44cf74
cmp cl, 0x4d
je 0x44ceca
cmp cl, 0x4e
je 0x44ceca
cmp cl, 0x50
je 0x44ceca
cmp cl, 0x5d
je 0x44cb71
cmp cl, 0x5e
je 0x44cb71
cmp cl, 0x5c
je 0x44cb71
cmp cl, 0x5f
jne 0x44d305
and dword [ebp - 0x10], 0
and dword [ebp + 0x48], 0
mov eax, ebx
sub eax, edx
cmp cl, 0x5f
mov dword [ebp + 0x40], eax
jne 0x44cb8f
cmp byte [edx + 3], 0x65
je 0x44d310
cmp dword [ebp + 0x30], 0xffffffff
jne 0x44cbad
mov eax, edx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x54
jne 0x44cb97
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp + 0x20], 0
jne 0x44cc3d
cmp dword [ebp + 0x30], 0
jne 0x44cbc4
mov ebx, edx
jmp 0x44d1b6
cmp dword [ebp + 0x30], 1
push dword [ebp]
mov esi, dword [ebp + 0x4c]
mov byte [ebx], 0
push edi
jg 0x44cbf9
push 1
push esi
call fcn.0044ad1d
push dword [ebp + 0x40]
inc esi
push dword [ebp + 0x4c]
push esi
call sub.MSVCR71.dll_memmove
mov al, byte [ebp + 0x38]
mov ecx, dword [ebp + 0x4c]
add esp, 0x1c
inc ebx
add al, 0x66
mov byte [ecx], al
jmp 0x44cc2c
push 4
push esi
call fcn.0044ad1d
push dword [ebp + 0x40]
lea eax, [esi + 4]
push esi
push eax
call sub.MSVCR71.dll_memmove
mov al, byte [ebp + 0x38]
add al, 0x66
mov byte [esi], al
add esp, 0x1c
add ebx, 4
inc esi
mov byte [esi], 0x5d
inc esi
mov dword [ebp + 0x48], esi
mov byte [esi], 0
mov byte [esi + 1], 0
inc esi
inc esi
dec dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov dword [ebp + 0x4c], esi
mov esi, dword [ebp + 0x1c]
jmp 0x44cd0e
cmp dword [ebp + 0x20], 1
jle 0x44cd01
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x44cc8e
mov eax, dword [ebp + 0x20]
dec eax
mov dword [ebp + 0x3c], eax
imul eax, dword [ebp + 8]
fild dword [ebp + 0x3c]
fimul dword [ebp + 8]
mov dword [ebp + 0x34], eax
fcomp qword [0x458b00]
fnstsw ax
test ah, 0x41
je 0x44d31b
mov eax, dword [ecx]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, dword [ebp + 0x34]
jl 0x44d31b
mov edx, dword [ebp + 0x34]
add eax, edx
mov dword [ecx], eax
jmp 0x44cd01
cmp dword [ebp - 0x44], 0
je 0x44cca0
cmp dword [ebp + 0x18], 0
jge 0x44cca0
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 0x18], eax
cmp dword [ebp + 0x20], 1
jle 0x44cd01
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp]
dec eax
mov dword [ebp + 0x34], eax
push dword [ebp + 0x40]
mov eax, dword [edi + 0x20]
push dword [ebp + 0x4c]
mov dword [ebp + 0x3c], eax
push ebx
call sub.MSVCR71.dll_memcpy
add esp, 0xc
jmp 0x44cceb
mov ecx, dword [edi + 0x20]
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
add eax, dword [ebp + 0x40]
sar eax, 8
mov byte [ecx], al
mov al, byte [esi + 1]
add al, byte [ebp + 0x40]
mov ecx, dword [edi + 0x20]
mov byte [ecx + 1], al
add dword [edi + 0x20], 2
inc esi
inc esi
cmp esi, dword [ebp + 0x3c]
jb 0x44ccc7
mov esi, dword [ebp + 0x3c]
add ebx, dword [ebp + 0x40]
dec dword [ebp + 0x34]
mov dword [ebp], esi
jne 0x44ccb0
mov esi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
jle 0x44cd10
sub ecx, dword [ebp + 0x20]
mov dword [ebp + 0x30], ecx
test ecx, ecx
jl 0x44ce68
mov edx, dword [ebp + 0x7c]
test edx, edx
je 0x44cd63
test ecx, ecx
jle 0x44cd63
mov eax, dword [ebp + 8]
add eax, 7
mov dword [ebp + 0x34], eax
imul eax, ecx
fild dword [ebp + 0x34]
fimul dword [ebp + 0x30]
sub eax, 6
mov ecx, eax
fcomp qword [0x458b00]
fnstsw ax
test ah, 0x41
je 0x44d31b
mov eax, dword [edx]
mov edi, 0x7fffffeb
sub edi, eax
cmp edi, ecx
jl 0x44d31b
add eax, ecx
mov dword [edx], eax
jmp 0x44ce20
lea eax, [ecx - 1]
test eax, eax
mov dword [ebp + 0x44], eax
jl 0x44ce20
mov al, byte [ebp + 0x38]
add al, 0x66
mov byte [ebp + 7], al
mov esi, dword [edi + 0x20]
mov al, byte [ebp + 7]
mov byte [ebx], al
inc ebx
cmp dword [ebp + 0x44], 0
mov dword [ebp + 0x34], esi
je 0x44cdab
mov eax, dword [ebp + 0x48]
mov byte [ebx], 0x5d
inc ebx
mov ecx, ebx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, eax
sar ecx, 8
mov dword [ebp + 0x48], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push dword [ebp + 0x40]
push dword [ebp + 0x4c]
push ebx
call sub.MSVCR71.dll_memcpy
mov eax, dword [ebp]
add esp, 0xc
cmp eax, esi
jae 0x44ce0e
mov esi, dword [ebp + 0x44]
neg esi
sbb esi, esi
and esi, 3
inc esi
cmp dword [ebp + 0x44], 0
sete cl
dec cl
and cl, 3
inc cl
mov byte [ebp - 1], cl
mov edx, dword [edi + 0x20]
xor ecx, ecx
mov ch, byte [eax]
mov cl, byte [eax + 1]
add ecx, dword [ebp + 0x40]
add ecx, esi
sar ecx, 8
mov byte [edx], cl
mov cl, byte [ebp - 1]
add cl, byte [ebp + 0x40]
mov edx, dword [edi + 0x20]
add cl, byte [eax + 1]
mov byte [edx + 1], cl
add dword [edi + 0x20], 2
inc eax
inc eax
cmp eax, dword [ebp + 0x34]
jb 0x44cddd
mov esi, dword [ebp + 0x34]
add ebx, dword [ebp + 0x40]
dec dword [ebp + 0x44]
mov dword [ebp], esi
jns 0x44cd79
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x48], 0
je 0x44d0c6
mov esi, dword [ebp + 0x48]
xor edx, edx
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [ebx], 0x54
mov byte [ebx + 2], cl
sub esi, edx
mov dword [ebp + 0x34], edx
neg edx
sbb edx, edx
and esi, edx
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
inc ebx
inc ebx
test esi, esi
mov byte [eax + 1], dl
mov byte [eax + 2], cl
jne 0x44ce2d
jmp 0x44d0c3
xor eax, eax
mov esi, ebx
sub esi, dword [ebp - 0x10]
mov ah, byte [esi + 1]
mov edi, esi
mov al, byte [esi + 2]
sub edi, eax
mov al, byte [ebp + 0x38]
add al, 0x55
cmp dword [ebp + 0x7c], 0
mov byte [esi], al
jne 0x44d0c3
cmp byte [edi], 0x5c
je 0x44d0c3
mov dword [ebp + 0x3c], edi
push 0
push esi
push dword [ebp + 0x3c]
call fcn.0044ab0a
add esp, 0xc
test eax, eax
jne 0x44cec2
mov eax, dword [ebp + 0x3c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
mov dword [ebp + 0x3c], eax
je 0x44ce96
jmp 0x44d0c3
add byte [edi], 3
jmp 0x44d0c3
cmp dword [ebp + 0x30], 0
je 0x44cbbd
mov ecx, dword [ebp + 0x30]
cmp ecx, 1
je 0x44cee0
or dword [edi + 0x40], 1
cmp dword [ebp + 0x20], 0
jne 0x44cef2
cmp ecx, 0xffffffff
jne 0x44cf04
add al, 0x45
jmp 0x44d0c0
cmp dword [ebp + 0x20], 1
jne 0x44cf10
cmp ecx, 0xffffffff
jne 0x44cf10
add al, 0x47
jmp 0x44d0c0
cmp ecx, 1
jne 0x44cf10
add al, 0x49
jmp 0x44d0c0
add al, 0x4b
mov byte [ebx], al
mov eax, dword [ebp + 0x20]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp ecx, 0xffffffff
jne 0x44cf30
and dword [ebp + 0x30], 0
mov ecx, dword [ebp + 0x30]
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x44d0c3
cmp dword [ebp + 0x20], 1
movzx esi, byte [ebx - 1]
mov dword [ebp + 0x48], esi
jle 0x44cf59
mov eax, dword [edi + 0x44]
or eax, esi
or eax, dword [ebp - 0x38]
mov dword [ebp + 0x18], eax
cmp dword [ebp + 0x24], 0
jne 0x44cf8d
cmp dword [ebp + 0x30], 0
jge 0x44cf8d
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push dword [ebp + 0x48]
movzx eax, cl
push eax
mov esi, edi
call fcn.0044adef
add esp, 0x10
test eax, eax
je 0x44cf8d
and dword [ebp + 0x38], 0
mov dword [ebp + 0x24], 1
mov eax, dword [ebp + 0x4c]
mov cl, byte [eax]
cmp cl, 0xf
je 0x44cfa6
cmp cl, 0xe
je 0x44cfa6
or dword [ebp + 0x40], 0xffffffff
or dword [ebp + 0x44], 0xffffffff
jmp 0x44cfb4
movzx ecx, byte [eax + 1]
mov dword [ebp + 0x44], ecx
movzx ecx, byte [eax + 2]
mov dword [ebp + 0x40], ecx
cmp dword [ebp + 0x30], 0
mov esi, ebx
mov ebx, eax
je 0x44d1b6
mov edx, dword [ebp + 0x30]
cmp edx, 1
je 0x44cfce
or dword [edi + 0x40], 1
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x3c]
add eax, ecx
cmp dword [ebp + 0x20], 0
mov dword [ebp + 0x38], eax
jne 0x44d003
cmp edx, 0xffffffff
jne 0x44cfe8
add al, 0x1e
jmp 0x44d010
cmp edx, 1
mov ebx, dword [ebp + 0x4c]
je 0x44d0a5
add al, 0x24
mov byte [ebx], al
inc ebx
mov eax, edx
mov byte [ebx + 1], dl
jmp 0x44d0b6
cmp dword [ebp + 0x20], 1
jne 0x44d042
cmp edx, 0xffffffff
jne 0x44d01b
add al, 0x20
mov ebx, dword [ebp + 0x4c]
mov byte [ebx], al
inc ebx
jmp 0x44d0bd
cmp edx, 1
mov ebx, esi
je 0x44d1b6
mov al, byte [ebp + 0x38]
add al, 0x24
mov byte [esi], al
mov eax, dword [ebp + 0x30]
lea ecx, [eax - 1]
sar ecx, 8
lea ebx, [esi + 1]
dec al
mov byte [ebx], cl
mov byte [ebx + 1], al
jmp 0x44d0bb
mov ebx, dword [ebp + 0x4c]
add cl, 0x26
mov byte [ebx], cl
mov ecx, dword [ebp + 0x20]
inc ebx
sar ecx, 8
mov byte [ebx], cl
mov cl, byte [ebp + 0x20]
mov byte [ebx + 1], cl
inc ebx
inc ebx
test edx, edx
jge 0x44d079
mov cl, byte [ebp + 0x48]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x44]
inc ebx
test ecx, ecx
jl 0x44d075
mov byte [ebx], cl
mov cl, byte [ebp + 0x40]
inc ebx
mov byte [ebx], cl
inc ebx
add al, 0x1e
jmp 0x44d013
mov ecx, dword [ebp + 0x20]
cmp dword [ebp + 0x30], ecx
je 0x44d0bd
mov cl, byte [ebp + 0x48]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x44]
inc ebx
test ecx, ecx
jl 0x44d097
mov byte [ebx], cl
mov cl, byte [ebp + 0x40]
inc ebx
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x30]
sub ecx, dword [ebp + 0x20]
cmp ecx, 1
mov dword [ebp + 0x30], ecx
jne 0x44d0ac
add al, 0x22
jmp 0x44d013
add al, 0x24
mov byte [ebx], al
inc ebx
mov eax, ecx
mov byte [ebx + 1], cl
sar eax, 8
mov byte [ebx], al
inc ebx
inc ebx
mov al, byte [ebp + 0x48]
mov byte [ebx], al
inc ebx
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x24], 0
je 0x44d1b6
mov al, byte [esi]
cmp al, 0x26
je 0x44d0de
cmp al, 0x40
je 0x44d0de
cmp al, 0x33
jne 0x44d0ed
movzx eax, al
movzx eax, byte [eax + 0x452328]
add esi, eax
mov dword [ebp + 0x1c], esi
mov eax, ebx
sub eax, esi
test eax, eax
mov dword [ebp + 0x34], eax
jle 0x44d1b6
movzx eax, byte [esi]
cmp eax, 0x2f
jg 0x44d14c
je 0x44d147
sub eax, 0x1e
je 0x44d142
push 2
pop ecx
sub eax, ecx
je 0x44d13d
sub eax, ecx
je 0x44d138
sub eax, ecx
je 0x44d133
sub eax, 7
je 0x44d12b
sub eax, ecx
jne 0x44d162
mov byte [esi], 0x35
jmp 0x44d1b6
mov byte [esi], 0x34
jmp 0x44d1b6
mov byte [esi], 0x2a
jmp 0x44d1b6
mov byte [esi], 0x29
jmp 0x44d1b6
mov byte [esi], 0x28
jmp 0x44d1b6
mov byte [esi], 0x27
jmp 0x44d1b6
mov byte [esi], 0x36
jmp 0x44d1b6
sub eax, 0x31
je 0x44d1b3
sub eax, 7
je 0x44d1ae
dec eax
dec eax
je 0x44d1a9
dec eax
dec eax
je 0x44d1a4
dec eax
dec eax
je 0x44d19f
push dword [ebp + 0x34]
push esi
add esi, 3
push esi
call sub.MSVCR71.dll_memmove
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x34]
mov byte [eax], 0x5c
add ecx, 3
add ebx, 3
mov byte [ebx], 0x54
add esp, 0xc
inc ebx
mov byte [ebx + 1], cl
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp + 0x1c]
mov byte [edx + 1], al
mov eax, dword [ebp + 0x1c]
inc ebx
inc ebx
mov byte [eax + 2], cl
jmp 0x44d1b6
mov byte [esi], 0x44
jmp 0x44d1b6
mov byte [esi], 0x43
jmp 0x44d1b6
mov byte [esi], 0x42
jmp 0x44d1b6
mov byte [esi], 0x41
jmp 0x44d1b6
mov byte [esi], 0x37
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp + 0x78]
and dword [ebp + 0x4c], 0
or dword [edi + 0x44], eax
inc dword [ebp + 0x50]
xor esi, esi
jmp 0x44b3f7
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x34
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3b
jmp 0x44d324
mov eax, dword [ebp + 0x68]
inc dword [ebp + 0x50]
mov dword [eax], 0x1c
jmp 0x44d324
mov eax, dword [ebp + 0x68]
dec esi
mov dword [ebp + 0x50], esi
mov dword [eax], 0x1a
jmp 0x44d324
mov eax, dword [ebp + 0x68]
dec esi
mov dword [eax], 0xc
mov dword [ebp + 0x50], esi
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1d
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3a
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x31
jmp 0x44d324
mov eax, dword [ebp + 0x68]
inc esi
mov dword [ebp + 0x50], esi
mov dword [eax], 0x18
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x36
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1b
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xe
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2a
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x28
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2d
jmp 0x44d324
mov ecx, dword [ebp + 0x50]
xor eax, eax
cmp byte [ecx + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
jmp 0x44b95b
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1f
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1e
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 7
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 8
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 6
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 9
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xb
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x37
jmp 0x44d324
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x14
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x64]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret