Function at 0x44b969
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push ebx
mov ebx, dword [ecx]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x24], eax
shr eax, 0xb
xor ecx, ecx
inc ecx
and eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
shr eax, 9
and eax, ecx
push esi
mov dword [ebp - 0xc0], eax
xor eax, ecx
push edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0xbc], eax
xor esi, esi
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
and eax, ecx
shl eax, 8
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 8], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], esi
mov eax, esi
movzx ecx, byte [edx]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x44ba91
mov eax, dword [edi + 0x10]
add eax, 0x1000
cmp ebx, eax
ja 0x44e2ab
mov edx, dword [ebp - 0x70]
cmp ebx, edx
jae 0x44ba26
mov dword [ebp - 8], edx
mov ebx, edx
mov eax, dword [ecx]
mov ecx, ebx
sub ecx, edx
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, ecx
jl 0x44e2b9
sub eax, dword [ebp - 0x70]
mov ecx, dword [ebp + 0x28]
add eax, ebx
mov dword [ecx], eax
test esi, esi
je 0x44ba7b
cmp esi, dword [ebp - 0xa0]
jbe 0x44ba86
mov eax, ebx
sub eax, esi
push eax
push esi
push dword [ebp - 0xa0]
call fcn.0045a680
mov eax, dword [ebp - 0xa0]
mov ecx, eax
sub ecx, esi
add esp, 0xc
add ebx, ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], eax
mov esi, eax
jmp 0x44ba86
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 8], eax
mov ebx, eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 4]
mov dword [ebp - 0x70], ebx
jmp 0x44baa3
mov ecx, dword [edi + 0x10]
add ecx, 0x1000
cmp dword [edi + 0x24], ecx
ja 0x44e2ab
cmp dword [ebp - 0x54], 0
je 0x44bb38
cmp dword [ebp - 0x10], 0
je 0x44bb38
cmp dword [ebp - 0x10], 0x5c
jne 0x44bad1
lea ecx, [edx + 1]
cmp byte [ecx], 0x45
jne 0x44bad1
and dword [ebp - 0x54], 0
mov dword [ebp - 4], ecx
jmp 0x44d2ea
test eax, eax
je 0x44bafc
cmp dword [ebp + 0x28], 0
jne 0x44baf8
movzx ecx, byte [eax + 2]
movzx esi, byte [eax + 3]
shl ecx, 8
or ecx, esi
sub edx, ecx
sub edx, dword [edi + 0x18]
mov ecx, edx
sar ecx, 8
mov byte [eax + 4], cl
mov byte [eax + 5], dl
and dword [ebp - 0x58], 0
test dword [ebp - 0x24], 0x4000
je 0x44ce9a
mov eax, dword [ebp - 4]
mov byte [ebx], 0x53
mov byte [ebx + 1], 0xff
mov ecx, eax
sub ecx, dword [edi + 0x18]
mov dword [ebp - 0x58], ebx
sar ecx, 8
mov byte [ebx + 2], cl
sub al, byte [edi + 0x18]
mov word [ebx + 4], 0
mov byte [ebx + 3], al
add ebx, 6
mov dword [ebp - 8], ebx
jmp 0x44ce9a
mov eax, dword [ebp - 0x10]
cmp eax, 0x2a
je 0x44bbc7
cmp eax, 0x2b
je 0x44bbc7
cmp eax, 0x3f
je 0x44bbc7
cmp eax, 0x7b
jne 0x44bb60
mov eax, dword [ebp - 4]
inc eax
call fcn.0044a6be
test eax, eax
jne 0x44bbc7
and dword [ebp - 0x20], 0
cmp dword [ebp - 0x58], 0
je 0x44bba7
mov eax, dword [ebp - 0x98]
dec dword [ebp - 0x98]
test eax, eax
jg 0x44bba7
cmp dword [ebp + 0x28], 0
jne 0x44bba3
mov ecx, dword [ebp - 0x58]
movzx edx, byte [ecx + 2]
movzx eax, byte [ecx + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
sub eax, edx
sub eax, dword [edi + 0x18]
mov edx, eax
sar edx, 8
mov byte [ecx + 4], dl
mov byte [ecx + 5], al
and dword [ebp - 0x58], 0
test byte [ebp - 0x24], 8
je 0x44bc23
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0x10]
test byte [eax + ecx], 1
jne 0x44d2ea
cmp eax, 0x23
jne 0x44bc23
jmp 0x44bd01
mov dword [ebp - 0x20], 1
jmp 0x44bba7
mov ecx, dword [edi + 0x58]
test ecx, ecx
je 0x44bcd7
mov eax, dword [edi + 0x1c]
cmp dword [ebp - 4], eax
jae 0x44bd01
push dword [ebp - 0x30]
mov ebx, dword [ebp - 4]
lea edx, [edi + 0x5c]
push edx
push eax
push ecx
call fcn.0045481c
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
add esp, 0x10
test eax, eax
je 0x44bd01
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x5c]
lea eax, [ecx + eax - 1]
mov dword [ebp - 4], eax
cmp byte [eax], 0
jne 0x44d2ea
and dword [ebp - 0x10], 0
test dword [ebp - 0x24], 0x4000
je 0x44bc5c
cmp dword [ebp - 0x20], 0
jne 0x44bc5c
mov eax, dword [ebp - 4]
mov byte [ebx], 0x53
mov byte [ebx + 1], 0xff
mov ecx, eax
sub ecx, dword [edi + 0x18]
mov dword [ebp - 0x58], ebx
sar ecx, 8
mov byte [ebx + 2], cl
sub al, byte [edi + 0x18]
mov word [ebx + 4], 0
mov byte [ebx + 3], al
add ebx, 6
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
cmp eax, 0x3f
jg 0x44c4b7
je 0x44c4a7
mov ecx, eax
xor eax, eax
sub ecx, eax
je 0x44c4e1
sub ecx, 0x24
je 0x44c49c
sub ecx, 4
je 0x44bd2b
dec ecx
je 0x44c4e1
dec ecx
je 0x44bd26
dec ecx
je 0x44bd16
sub ecx, 3
jne 0x44ce9a
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x44bcb3
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
shr eax, 2
and al, 1
or al, 0xc
mov dword [ebp - 0xc], ebx
mov byte [ebx], al
inc ebx
mov dword [ebp - 8], ebx
jmp 0x44d2e7
mov ecx, dword [edi + 0x5c]
mov edx, dword [edi + 0x1c]
sub edx, ecx
cmp dword [ebp - 4], edx
ja 0x44bd01
cmp al, byte [edi + 0x60]
jne 0x44bd01
cmp ecx, 1
je 0x44bc09
mov eax, dword [ebp - 4]
mov al, byte [eax + 1]
cmp al, byte [edi + 0x61]
je 0x44bc09
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov al, byte [eax]
test al, al
jne 0x44bbd0
jmp 0x44bc1f
mov dword [ebp - 0x3c], 1
or dword [ebp - 0x34], 0xffffffff
jmp 0x44c555
mov dword [ebp - 0x3c], eax
jmp 0x44bd1d
mov ecx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 4], edx
cmp byte [edx], 0x2a
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x5f
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x2c], eax
jne 0x44be31
mov ecx, dword [edi + 0xc]
lea eax, [edx + 1]
mov dword [ebp - 0x14], eax
movzx eax, byte [eax]
test byte [eax + ecx], 2
je 0x44be31
mov eax, dword [ebp - 0x14]
and dword [ebp - 0xc], 0
mov dword [ebp - 0x20], str.ACCEPT
mov dword [ebp - 0x1c], eax
inc eax
mov dword [ebp - 4], eax
movzx edx, byte [eax]
test byte [edx + ecx], 2
jne 0x44bd78
mov cl, byte [eax]
cmp cl, 0x3a
je 0x44e2c7
cmp cl, 0x29
jne 0x44be23
sub eax, dword [ebp - 0x1c]
and dword [ebp - 0x14], 0
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
lea esi, [esi*8 + 0x46fc48]
cmp eax, dword [esi]
jne 0x44bdc7
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
call fcn.0045a9e1
add esp, 0xc
test eax, eax
je 0x44bdde
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 7
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x20], eax
jl 0x44bda3
jmp 0x44be19
mov esi, dword [ebp - 0x14]
lea esi, [esi*8 + 0x46fc4c]
cmp dword [esi], 0x70
jne 0x44be11
mov eax, dword [edi + 0x20]
mov dword [edi + 0x50], 1
jmp 0x44be0d
mov byte [ebx], 0x71
mov cl, byte [eax + 5]
mov byte [ebx + 1], cl
mov cl, byte [eax + 4]
mov byte [ebx + 2], cl
mov eax, dword [eax]
add ebx, 3
test eax, eax
jne 0x44bdf9
mov al, byte [esi]
mov byte [ebx], al
inc ebx
mov dword [ebp - 8], ebx
cmp dword [ebp - 0x14], 7
jl 0x44d2e7
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x44e447
cmp byte [edx], 0x3f
jne 0x44c471
inc edx
mov dword [ebp - 4], edx
mov cl, byte [edx]
movzx eax, cl
cmp eax, 0x3a
jg 0x44c191
je 0x44c1c6
cmp eax, 0x28
jg 0x44c174
je 0x44bf0c
sub eax, 0x21
je 0x44bebd
dec eax
dec eax
je 0x44be8e
sub eax, 3
je 0x44be7b
dec eax
je 0x44c2cc
jmp 0x44d078
mov dword [ebp - 0x18], 0x29
mov dword [ebp - 0x20], 1
jmp 0x44d3d8
inc edx
mov dword [ebp - 4], edx
mov al, byte [edx]
test al, al
je 0x44beaf
cmp al, 0x29
je 0x44bea6
inc edx
mov dword [ebp - 4], edx
mov al, byte [edx]
test al, al
jne 0x44be98
cmp byte [edx], 0
jne 0x44d2ea
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x44e447
inc edx
mov dword [ebp - 4], edx
cmp byte [edx], 0x29
jne 0x44bed6
mov byte [ebx], 0x6f
inc ebx
mov dword [ebp - 8], ebx
and dword [ebp - 0xc], 0
jmp 0x44d2e7
mov dword [ebp - 0x1c], 0x59
and dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x1c]
mov byte [ebx], al
mov ecx, dword [edi + 0x4c]
and dword [ebp - 0x64], 0
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x74], ecx
cmp eax, 0x5a
je 0x44d190
cmp eax, 0x5b
je 0x44d190
xor eax, eax
jmp 0x44d193
cmp byte [edx + 1], 0x3f
mov dword [ebp - 0x1c], 0x60
jne 0x44bf37
mov dl, byte [edx + 2]
cmp dl, 0x3d
je 0x44d188
cmp dl, 0x21
je 0x44d188
cmp dl, 0x3c
je 0x44d188
or dword [ebp - 0xc], 0xffffffff
mov byte [ebx + 3], 0x64
mov edx, dword [ebp - 4]
lea eax, [edx + 1]
mov cl, byte [eax]
mov dword [ebp - 0x20], 3
cmp cl, 0x52
jne 0x44bf68
add edx, 2
cmp byte [edx], 0x26
jne 0x44bf68
or dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 4], edx
mov byte [ebx + 3], 0x66
jmp 0x44bf9c
cmp cl, 0x3c
jne 0x44bf76
mov dword [ebp - 0x18], 0x3e
jmp 0x44bf80
push 0x27
pop edx
cmp cl, dl
jne 0x44bf85
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], eax
jmp 0x44bf9c
and dword [ebp - 0x18], 0
cmp cl, 0x2d
je 0x44bf93
cmp cl, 0x2b
jne 0x44bf9c
mov dword [ebp - 4], eax
movzx eax, byte [eax]
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 4]
mov edx, dword [edi + 0xc]
inc esi
movzx eax, byte [esi]
test byte [eax + edx], 0x10
je 0x44e2d5
mov dword [ebp - 4], esi
movzx eax, byte [esi]
xor ecx, ecx
test byte [edx + eax], 0x10
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], esi
je 0x44bfed
test ecx, ecx
js 0x44bfdd
test byte [eax + 0x470710], 4
je 0x44bfda
imul ecx, ecx, 0xa
lea ecx, [ecx + eax - 0x30]
jmp 0x44bfdd
or ecx, 0xffffffff
inc esi
mov dword [ebp - 4], esi
movzx eax, byte [esi]
test byte [edx + eax], 0x10
jne 0x44bfc4
mov dword [ebp - 0x10], ecx
mov eax, esi
sub eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jle 0x44c00e
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], esi
cmp eax, dword [ebp - 0x18]
jne 0x44e2e6
xor eax, eax
mov dl, byte [esi]
inc esi
mov dword [ebp - 4], esi
cmp dl, 0x29
jne 0x44e2e6
cmp dword [ebp + 0x28], eax
jne 0x44d188
cmp dword [ebp - 0xc], eax
jle 0x44c067
cmp ecx, eax
jle 0x44e2f8
cmp dword [ebp - 0xc], 0x2d
jne 0x44c043
mov edx, dword [edi + 0x34]
sub edx, ecx
lea ecx, [edx + 1]
jmp 0x44c046
add ecx, dword [edi + 0x34]
cmp ecx, eax
jle 0x44d35f
cmp ecx, dword [edi + 0x38]
jg 0x44d35f
mov eax, ecx
sar eax, 8
mov byte [ebx + 4], al
mov byte [ebx + 5], cl
jmp 0x44d188
mov esi, dword [edi + 0x28]
mov dword [ebp - 0xc], eax
cmp dword [edi + 0x2c], eax
jle 0x44c096
push dword [ebp - 8]
lea eax, [esi + 2]
push eax
push dword [ebp - 0x14]
call fcn.0045a9e1
add esp, 0xc
test eax, eax
je 0x44c096
add esi, dword [edi + 0x30]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [edi + 0x2c]
jl 0x44c072
mov eax, dword [ebp - 0xc]
cmp eax, dword [edi + 0x2c]
jge 0x44c0bd
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
mov ecx, eax
sar ecx, 8
inc byte [ebx + 3]
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x44d188
mov eax, dword [ebp - 0x24]
shr eax, 3
and eax, 1
push eax
push dword [ebp - 8]
mov esi, edi
push dword [ebp - 0x14]
call fcn.0044aa52
add esp, 0xc
test eax, eax
jg 0x44c0aa
xor ecx, ecx
cmp dword [ebp - 0x18], ecx
jne 0x44d35f
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x52
jne 0x44c126
xor esi, esi
inc esi
cmp dword [ebp - 8], esi
jle 0x44c118
movzx eax, byte [esi + edx]
test byte [eax + 0x470710], 4
je 0x44d35f
imul ecx, ecx, 0xa
inc esi
lea ecx, [ecx + eax - 0x30]
cmp esi, dword [ebp - 8]
jl 0x44c0f6
test ecx, ecx
jne 0x44c11d
mov ecx, 0xffff
mov byte [ebx + 3], 0x66
jmp 0x44c057
cmp dword [ebp - 8], 6
jne 0x44c150
push 6
push str.DEFINE
push edx
call fcn.0045a9e1
add esp, 0xc
test eax, eax
jne 0x44c150
mov byte [ebx + 3], 0x68
mov dword [ebp - 0x20], 1
jmp 0x44d188
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x44e306
cmp eax, dword [edi + 0x38]
jg 0x44e306
mov ecx, eax
sar ecx, 8
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x44d188
cmp eax, 0x2b
je 0x44c1d3
cmp eax, 0x2d
je 0x44c1d3
cmp eax, 0x2f
jle 0x44d078
cmp eax, 0x39
jle 0x44c1d3
jmp 0x44d078
sub eax, 0x3c
je 0x44c2a9
dec eax
je 0x44c299
dec eax
je 0x44c289
sub eax, 5
je 0x44c21d
sub eax, 0xd
je 0x44c1df
dec eax
dec eax
je 0x44c1cf
sub eax, 0x2a
jne 0x44d078
mov dword [ebp - 0x2c], 1
inc edx
mov dword [ebp - 4], edx
jmp 0x44d181
inc edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], 0x29
jmp 0x44d02f
inc edx
mov dword [ebp - 4], edx
mov cl, byte [edx]
cmp cl, 0x3d
je 0x44c206
cmp cl, 0x3e
je 0x44c206
cmp cl, 0x3c
je 0x44c2cc
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x29
jmp 0x44e447
xor eax, eax
cmp cl, 0x3e
sete al
mov dword [ebp - 0x18], 0x29
mov dword [ebp - 0x20], eax
jmp 0x44d3d8
mov byte [ebx], 0x53
mov esi, dword [ebp - 4]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x98], 1
xor ecx, ecx
jmp 0x44c23b
imul ecx, ecx, 0xa
lea ecx, [ecx + eax - 0x30]
inc esi
mov dword [ebp - 4], esi
movzx eax, byte [esi]
test byte [eax + 0x470710], 4
jne 0x44c234
cmp byte [esi], 0x29
jne 0x44e315
cmp ecx, 0xff
jg 0x44e323
mov byte [ebx + 1], cl
mov eax, dword [ebp - 4]
sub eax, dword [edi + 0x18]
inc eax
sar eax, 8
mov byte [ebx + 2], al
mov al, byte [ebp - 4]
sub al, byte [edi + 0x18]
mov word [ebx + 4], 0
inc al
mov byte [ebx + 3], al
add ebx, 6
jmp 0x44beca
inc edx
mov dword [ebp - 0x1c], 0x5d
mov dword [ebp - 4], edx
jmp 0x44d188
mov dword [ebp - 0x1c], 0x58
inc edx
mov dword [ebp - 4], edx
jmp 0x44bedd
mov al, byte [edx + 1]
cmp al, 0x21
je 0x44c468
cmp al, 0x3d
je 0x44c459
mov esi, dword [edi + 0xc]
movzx eax, al
test byte [eax + esi], 0x10
je 0x44e35b
xor eax, eax
cmp cl, 0x3c
mov ecx, dword [edi + 0xc]
setne al
lea esi, [eax - 1]
and esi, 0x17
add esi, 0x27
inc edx
mov dword [ebp - 4], edx
movzx eax, byte [edx]
test byte [eax + ecx], 0x10
mov dword [ebp - 0x14], edx
je 0x44c2ff
mov eax, ecx
inc edx
mov dword [ebp - 4], edx
movzx ecx, byte [edx]
test byte [ecx + eax], 0x10
jne 0x44c2f2
mov eax, edx
sub eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp dword [ebp + 0x28], ecx
je 0x44c34c
movzx ecx, byte [edx]
cmp ecx, esi
jne 0x44e331
cmp dword [edi + 0x2c], 0x2710
jge 0x44e33f
lea ecx, [eax + 3]
cmp ecx, dword [edi + 0x30]
jle 0x44c450
mov dword [edi + 0x30], ecx
cmp eax, 0x20
jle 0x44c450
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x44e447
mov esi, dword [edi + 0x28]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0xc], ecx
cmp dword [edi + 0x2c], ecx
jle 0x44c3de
push dword [ebp - 8]
lea eax, [esi + 2]
push eax
push dword [ebp - 0x14]
call fcn.00455a73
add esp, 0xc
test eax, eax
jne 0x44c3ad
mov eax, dword [ebp - 8]
cmp byte [esi + eax + 2], 0
jne 0x44c3a8
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
mov ecx, dword [edi + 0x34]
inc ecx
cmp eax, ecx
je 0x44c39f
test dword [ebp - 0x24], 0x80000
je 0x44e34d
mov dword [ebp - 0x20], 1
jmp 0x44c3af
or eax, 0xffffffff
test eax, eax
js 0x44c3bf
add esi, dword [edi + 0x30]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [edi + 0x2c]
jl 0x44c35e
jmp 0x44c3d8
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
sub ecx, dword [ebp - 0xc]
imul ecx, eax
push ecx
add eax, esi
push esi
push eax
call fcn.0045a680
add esp, 0xc
cmp dword [ebp - 0x20], 0
jne 0x44c422
and dword [ebp - 0xc], 0
cmp dword [edi + 0x2c], 0
mov eax, dword [edi + 0x28]
jle 0x44c422
cmp eax, esi
je 0x44c411
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
mov edx, dword [edi + 0x34]
inc edx
cmp ecx, edx
jne 0x44c414
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x41
jmp 0x44e447
dec dword [ebp - 0xc]
add eax, dword [edi + 0x30]
inc dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [edi + 0x2c]
jl 0x44c3eb
mov eax, dword [edi + 0x34]
push dword [ebp - 8]
inc eax
push dword [ebp - 0x14]
sar eax, 8
mov byte [esi], al
mov al, byte [edi + 0x34]
inc al
mov byte [esi + 1], al
lea eax, [esi + 2]
push eax
call fcn.00454ef0
mov eax, dword [ebp - 8]
mov byte [esi + eax + 2], 0
mov edx, dword [ebp - 4]
add esp, 0xc
inc dword [edi + 0x2c]
inc edx
mov dword [ebp - 4], edx
jmp 0x44c47e
mov dword [ebp - 0x1c], 0x5a
add edx, 2
jmp 0x44c2a1
mov dword [ebp - 0x1c], 0x5b
jmp 0x44c460
test dword [ebp - 0x24], 0x1000
jne 0x44d181
inc dword [edi + 0x34]
mov eax, dword [edi + 0x34]
sar eax, 8
mov byte [ebx + 3], al
mov al, byte [edi + 0x34]
mov byte [ebx + 4], al
mov dword [ebp - 0x20], 2
jmp 0x44d188
mov dword [ebp - 0xc], eax
mov byte [ebx], 0x1b
jmp 0x44bcce
and dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
jmp 0x44c555
sub eax, 0x5b
je 0x44d670
dec eax
je 0x44cedf
dec eax
je 0x44ce8d
dec eax
je 0x44ce71
sub eax, 0x1d
je 0x44c527
dec eax
jne 0x44ce9a
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp - 0x28]
mov dword [ecx], esi
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x44]
mov dword [ecx], esi
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
mov ecx, dword [ebp + 0x10]
mov dword [ecx], edx
mov ecx, dword [ebp + 0x28]
cmp ecx, eax
je 0x44c51f
mov eax, dword [ecx]
mov edx, ebx
sub edx, dword [ebp - 0x70]
mov esi, 0x7fffffeb
sub esi, eax
cmp esi, edx
jl 0x44e2b9
sub eax, dword [ebp - 0x70]
add eax, ebx
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x44e451
cmp dword [ebp - 0x20], 0
je 0x44ce9a
mov edi, dword [ebp + 0x14]
push edi
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
inc eax
call fcn.0044a71e
add esp, 0xc
cmp dword [edi], 0
mov dword [ebp - 4], eax
jne 0x44e447
mov ecx, dword [ebp - 0x34]
test esi, esi
je 0x44e36d
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x44c573
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 4]
sub eax, ecx
neg eax
sbb eax, eax
and dword [ebp - 0x20], 0
and dword [ebp - 0x1c], 0
and eax, 0x200
mov edi, esi
inc edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x38], edi
mov al, byte [edx]
cmp al, 0x2b
jne 0x44c5a6
xor eax, eax
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], edx
jmp 0x44c5b8
cmp al, 0x3f
jne 0x44c5b2
mov eax, dword [ebp - 0xbc]
jmp 0x44c5a1
mov eax, dword [ebp - 0xc0]
mov dl, byte [esi]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x49], dl
cmp dl, 0x1c
je 0x44cac8
cmp dl, 0x1d
je 0x44cac8
cmp dl, 0x1e
jne 0x44c60c
cmp dword [ebp - 0x1c], 0
movzx edx, byte [esi + 1]
mov dword [ebp - 0x20], 0xd
mov dword [ebp - 0x10], edx
jne 0x44cb69
test ecx, ecx
jns 0x44cb69
push dword [ebp - 0x24]
mov eax, dword [ebp - 4]
inc eax
push eax
push 0
push dword [ebp - 0x30]
push edx
push 0x1e
jmp 0x44cb49
cmp dl, 0x17
jae 0x44c65c
cmp dword [ebp - 0x1c], 0
movzx edx, byte [ebp - 0x49]
mov dword [ebp - 0x20], 0x1a
mov dword [ebp - 0x10], edx
jne 0x44cb69
test ecx, ecx
jns 0x44cb69
push dword [ebp - 0x24]
mov eax, dword [ebp - 4]
inc eax
push eax
mov eax, dword [ebp + 0x24]
xor edi, edi
push edi
push dword [ebp - 0x30]
push edi
push edx
call fcn.0044b272
add esp, 0x18
test eax, eax
je 0x44cb63
mov dword [ebp - 0x18], edi
jmp 0x44cb5c
cmp dl, 0x4e
je 0x44ca4e
cmp dl, 0x4f
je 0x44ca4e
cmp dl, 0x50
je 0x44ca4e
cmp dl, 0x51
je 0x44ca4e
cmp dl, 0x5e
je 0x44c6ab
cmp dl, 0x5f
je 0x44c6ab
cmp dl, 0x5d
je 0x44c6ab
cmp dl, 0x60
je 0x44c6ab
cmp dl, 0x6f
je 0x44ca58
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xb
jmp 0x44e447
and dword [ebp - 0x10], 0
and dword [ebp - 0x20], 0
mov eax, ebx
sub eax, esi
mov dword [ebp - 0x14], eax
cmp dl, 0x60
jne 0x44c6c9
cmp byte [esi + 3], 0x68
je 0x44e37b
cmp ecx, 0xffffffff
jne 0x44c6f4
mov edx, esi
mov dword [ebp - 0x2c], esi
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
mov edx, dword [ebp - 0x2c]
add edx, eax
cmp byte [edx], 0x55
mov dword [ebp - 0x2c], edx
jne 0x44c6d3
mov eax, ebx
sub eax, edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x3c], 0
jne 0x44c78c
push dword [ebp - 0x50]
mov edi, dword [ebp + 0x24]
push dword [ebp - 0x30]
mov byte [ebx], 0
cmp ecx, 1
jg 0x44c747
push 1
push esi
call fcn.0044b1e2
push dword [ebp - 0x14]
lea edi, [esi + 1]
push esi
push edi
call fcn.0045a680
add esp, 0x1c
inc ebx
cmp dword [ebp - 0x34], 0
mov dword [ebp - 8], ebx
jne 0x44c739
mov byte [esi], 0x72
jmp 0x44ca58
mov al, byte [ebp - 0x18]
add al, 0x69
mov byte [esi], al
mov dword [ebp - 0xc], edi
mov esi, edi
jmp 0x44c77e
push 4
push esi
call fcn.0044b1e2
push dword [ebp - 0x14]
lea eax, [esi + 4]
push esi
push eax
call fcn.0045a680
mov al, byte [ebp - 0x18]
add al, 0x69
mov byte [esi], al
add ebx, 4
mov byte [esi + 1], 0x5e
add esp, 0x1c
add esi, 2
mov dword [ebp - 0x20], esi
mov word [esi], 0
mov dword [ebp - 8], ebx
add esi, 2
dec dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
jmp 0x44c86d
cmp dword [ebp - 0x3c], 1
jle 0x44c860
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x44c7e0
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x48], eax
imul eax, dword [ebp - 0x64]
fild dword [ebp - 0x48]
fimul dword [ebp - 0x64]
mov dword [ebp - 0x2c], eax
fcomp qword [0x475c10]
fnstsw ax
test ah, 0x41
je 0x44e2b9
mov eax, dword [ecx]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, dword [ebp - 0x2c]
jl 0x44e2b9
mov edx, dword [ebp - 0x2c]
add edx, eax
mov dword [ecx], edx
jmp 0x44c860
cmp dword [ebp - 0xb0], 0
je 0x44c7f5
cmp dword [ebp - 0x44], 0
jge 0x44c7f5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x3c], 1
jle 0x44c860
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp + 0x24]
dec eax
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x14]
mov eax, dword [edi + 0x24]
push esi
push ebx
mov dword [ebp - 0xc], eax
call fcn.00454ef0
mov eax, dword [ebp - 0x50]
add esp, 0xc
jmp 0x44c847
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
add ecx, dword [ebp - 0x14]
mov edx, dword [edi + 0x24]
sar ecx, 8
mov byte [edx], cl
mov cl, byte [eax + 1]
add cl, byte [ebp - 0x14]
mov edx, dword [edi + 0x24]
mov byte [edx + 1], cl
add dword [edi + 0x24], 2
add eax, 2
cmp eax, dword [ebp - 0xc]
jb 0x44c81d
mov eax, dword [ebp - 0xc]
add ebx, dword [ebp - 0x14]
dec dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
jne 0x44c805
mov edi, dword [ebp - 0x38]
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jle 0x44c86f
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], ecx
test ecx, ecx
js 0x44c9e1
mov edx, dword [ebp + 0x28]
test edx, edx
je 0x44c8c0
test ecx, ecx
jle 0x44c8c0
mov eax, dword [ebp - 0x64]
add eax, 7
mov dword [ebp - 0x48], eax
imul ecx, eax
fild dword [ebp - 0x48]
fimul dword [ebp - 0x34]
add ecx, 0xfffffffa
fcomp qword [0x475c10]
fnstsw ax
test ah, 0x41
je 0x44e2b9
mov eax, dword [edx]
mov esi, 0x7fffffeb
sub esi, eax
cmp esi, ecx
jl 0x44e2b9
add ecx, eax
mov dword [edx], ecx
jmp 0x44c992
dec ecx
mov dword [ebp - 0xc], ecx
js 0x44c992
mov al, byte [ebp - 0x18]
add al, 0x69
mov byte [ebp - 0x49], al
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + 0x24]
mov al, byte [ebp - 0x49]
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0xc], 0
mov dword [ebp - 0x2c], edi
je 0x44c908
mov eax, dword [ebp - 0x20]
mov byte [ebx], 0x5e
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 - 0x20], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
add ebx, 2
push dword [ebp - 0x14]
push esi
push ebx
call fcn.00454ef0
mov ecx, dword [ebp - 0x50]
add esp, 0xc
mov dword [ebp - 0x50], ecx
cmp ecx, edi
jae 0x44c97d
mov edi, dword [ebp - 0xc]
neg edi
sbb edi, edi
and edi, 3
inc edi
cmp dword [ebp - 0xc], 0
sete al
dec al
and al, 3
inc al
mov byte [ebp - 0x5d], al
mov eax, dword [ebp + 0x24]
movzx edx, byte [ecx]
movzx ecx, byte [ecx + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [eax + 0x24]
add edx, edi
add edx, dword [ebp - 0x14]
sar edx, 8
mov byte [ecx], dl
mov ecx, dword [ebp - 0x50]
mov cl, byte [ecx + 1]
add cl, byte [ebp - 0x5d]
mov edx, dword [eax + 0x24]
add cl, byte [ebp - 0x14]
mov byte [edx + 1], cl
mov ecx, dword [ebp - 0x50]
add dword [eax + 0x24], 2
add ecx, 2
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebp - 0x2c]
jb 0x44c93d
mov edi, dword [ebp - 0x2c]
add ebx, dword [ebp - 0x14]
dec dword [ebp - 0xc]
mov dword [ebp - 0x50], edi
jns 0x44c8d2
mov edi, dword [ebp - 0x38]
mov dword [ebp - 8], ebx
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x44cd21
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
movzx edx, byte [eax + 1]
movzx edi, byte [eax + 2]
shl edx, 8
or edx, edi
sub esi, edx
mov dword [ebp - 0x48], edx
neg edx
sbb edx, edx
and esi, edx
mov byte [ebx], 0x55
mov edx, ecx
sar edx, 8
mov byte [ebx + 1], dl
mov byte [ebx + 2], cl
add ebx, 3
mov byte [eax + 1], dl
mov byte [eax + 2], cl
test esi, esi
jne 0x44c99d
mov dword [ebp - 8], ebx
jmp 0x44cd1e
mov esi, ebx
sub esi, dword [ebp - 0x10]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
mov edi, esi
sub edi, eax
mov al, byte [ebp - 0x18]
add al, 0x56
cmp dword [ebp + 0x28], 0
mov byte [esi], al
jne 0x44cd1e
cmp byte [edi], 0x5d
je 0x44cd1e
mov dword [ebp - 0x20], edi
push dword [ebp - 0x30]
push esi
push dword [ebp - 0x20]
call fcn.0044af06
add esp, 0xc
test eax, eax
jne 0x44ca46
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
mov dword [ebp - 0x20], eax
je 0x44ca14
jmp 0x44cd1e
add byte [edi], 3
jmp 0x44cd1e
test ecx, ecx
jne 0x44ca6c
mov dword [ebp - 8], esi
mov ebx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x74]
and dword [ebp - 0xc], 0
or dword [eax + 0x4c], ecx
mov edi, eax
jmp 0x44d2e7
cmp dword [ebp - 0x3c], 0
jne 0x44ca81
cmp ecx, 0xffffffff
jne 0x44ca90
add al, 0x46
mov byte [ebx], al
inc ebx
jmp 0x44c9d9
cmp dword [ebp - 0x3c], 1
jne 0x44ca99
cmp ecx, 0xffffffff
jne 0x44ca99
add al, 0x48
jmp 0x44ca79
cmp ecx, 1
jne 0x44ca99
add al, 0x4a
jmp 0x44ca79
add al, 0x4c
mov byte [ebx], al
mov eax, dword [ebp - 0x3c]
mov edx, eax
sar edx, 8
mov byte [ebx + 1], dl
mov byte [ebx + 2], al
cmp ecx, 0xffffffff
jne 0x44cab5
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov eax, ecx
sar eax, 8
mov byte [ebx + 3], al
mov byte [ebx + 4], cl
add ebx, 5
jmp 0x44c9d9
cmp dword [ebp - 0x30], 0
je 0x44cb0a
lea edx, [ebx - 1]
test byte [edx], 0x80
je 0x44cb0a
mov ecx, edx
jmp 0x44cadb
dec ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x44cada
mov eax, ebx
sub eax, ecx
push eax
mov dword [ebp - 0x10], eax
push ecx
lea eax, [ebp - 0xb8]
push eax
call fcn.00454ef0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
add esp, 0xc
or dword [ebp - 0x10], 0x80
jmp 0x44cb26
cmp dword [ebp - 0x3c], 1
movzx edx, byte [ebx - 1]
mov dword [ebp - 0x10], edx
jle 0x44cb26
mov edx, dword [ebp + 0x24]
mov edi, dword [edx + 0x4c]
or edi, dword [ebp - 0x10]
or edi, dword [ebp - 0x68]
mov dword [ebp - 0x44], edi
cmp dword [ebp - 0x1c], 0
jne 0x44cb69
test ecx, ecx
jns 0x44cb69
push dword [ebp - 0x24]
mov eax, dword [ebp - 4]
inc eax
push eax
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0x30]
movzx eax, byte [esi]
push dword [ebp - 0x10]
push eax
mov eax, dword [ebp + 0x24]
call fcn.0044b272
add esp, 0x18
test eax, eax
je 0x44cb63
and dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 1
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov dl, byte [esi]
cmp dl, 0x10
je 0x44cb7f
cmp dl, 0xf
je 0x44cb7f
or dword [ebp - 0xc], 0xffffffff
or dword [ebp - 0x14], 0xffffffff
jmp 0x44cb8d
movzx edx, byte [esi + 1]
mov dword [ebp - 0x14], edx
movzx edx, byte [esi + 2]
mov dword [ebp - 0xc], edx
mov edi, ebx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x44ca55
mov edx, dword [ebp - 0x20]
add eax, edx
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x18], eax
jne 0x44cbc4
cmp ecx, 0xffffffff
jne 0x44cbb7
add al, 0x1f
mov byte [esi], al
inc esi
jmp 0x44cce0
cmp ecx, 1
jne 0x44ccce
add al, 0x23
jmp 0x44cbaf
cmp dword [ebp - 0x3c], 1
jne 0x44cbfe
cmp ecx, 0xffffffff
jne 0x44cbd3
add al, 0x21
jmp 0x44cbaf
mov dword [ebp - 8], edi
cmp ecx, 1
je 0x44ca55
add al, 0x25
mov byte [edi], al
lea edx, [ecx - 1]
sar edx, 8
lea eax, [edi + 1]
dec cl
mov byte [eax], dl
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp - 8], eax
jmp 0x44cce3
add dl, 0x27
mov byte [esi], dl
mov edx, dword [ebp - 0x3c]
mov ebx, edx
sar ebx, 8
mov byte [esi + 1], bl
mov byte [esi + 2], dl
add esi, 3
mov dword [ebp - 8], esi
test ecx, ecx
jns 0x44cc6c
cmp dword [ebp - 0x30], 0
je 0x44cc4b
cmp dword [ebp - 0x10], 0x80
jl 0x44cc4b
mov edi, dword [ebp - 0x10]
and edi, 7
push edi
lea eax, [ebp - 0xb8]
push eax
push esi
call fcn.00454ef0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add esi, edi
jmp 0x44cbad
mov cl, byte [ebp - 0x10]
mov byte [esi], cl
mov ecx, dword [ebp - 0x14]
inc esi
test ecx, ecx
js 0x44cbad
mov byte [esi], cl
mov cl, byte [ebp - 0xc]
mov byte [esi + 1], cl
add esi, 2
jmp 0x44cbad
cmp ecx, edx
je 0x44cce3
cmp dword [ebp - 0x30], 0
je 0x44cc9d
cmp dword [ebp - 0x10], 0x80
jl 0x44cc9d
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
and edi, 7
push edi
lea eax, [ebp - 0xb8]
push eax
push esi
call fcn.00454ef0
add esp, 0xc
add esi, edi
jmp 0x44ccab
mov ecx, dword [ebp - 8]
mov al, byte [ebp - 0x10]
inc dword [ebp - 8]
mov esi, dword [ebp - 8]
mov byte [ecx], al
mov eax, dword [ebp - 0x14]
test eax, eax
js 0x44ccbd
mov byte [esi], al
mov al, byte [ebp - 0xc]
mov byte [esi + 1], al
add esi, 2
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x3c]
mov al, byte [ebp - 0x18]
mov dword [ebp - 0x34], ecx
jmp 0x44cbb7
add al, 0x25
mov byte [esi], al
mov eax, ecx
sar eax, 8
mov byte [esi + 1], al
mov byte [esi + 2], cl
add esi, 3
mov dword [ebp - 8], esi
cmp dword [ebp - 0x30], 0
je 0x44cd10
cmp dword [ebp - 0x10], 0x80
jl 0x44cd10
mov esi, dword [ebp - 0x10]
and esi, 7
push esi
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 8]
call fcn.00454ef0
add esp, 0xc
add dword [ebp - 8], esi
jmp 0x44cd1b
mov ecx, dword [ebp - 8]
mov al, byte [ebp - 0x10]
inc dword [ebp - 8]
mov byte [ecx], al
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0x38]
cmp dword [ebp - 0x1c], 0
je 0x44ca58
mov al, byte [edi]
cmp al, 0x41
jne 0x44cd49
mov al, byte [edi + 3]
cmp al, 0x10
je 0x44cd40
cmp al, 0xf
je 0x44cd40
xor eax, eax
jmp 0x44cd43
push 2
pop eax
lea edi, [edi + eax + 4]
jmp 0x44cd7c
cmp al, 0x27
je 0x44cd51
cmp al, 0x34
jne 0x44cd7f
movzx eax, al
movzx eax, byte [eax + 0x46f020]
add edi, eax
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x38], edi
je 0x44cd7f
mov al, byte [edi - 1]
cmp al, 0xc0
jb 0x44cd7f
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
add edi, eax
mov dword [ebp - 0x38], edi
mov eax, ebx
sub eax, edi
mov dword [ebp - 0x2c], eax
test eax, eax
jle 0x44ca58
movzx eax, byte [edi]
cmp eax, 0x30
jg 0x44cded
je 0x44cde5
sub eax, 0x1f
je 0x44cddd
push 2
pop esi
sub eax, esi
je 0x44cdd5
sub eax, esi
je 0x44cdcd
sub eax, esi
je 0x44cdc5
sub eax, 7
je 0x44cdbd
sub eax, esi
jne 0x44ce06
mov byte [edi], 0x36
jmp 0x44ca58
mov byte [edi], 0x35
jmp 0x44ca58
mov byte [edi], 0x2b
jmp 0x44ca58
mov byte [edi], 0x2a
jmp 0x44ca58
mov byte [edi], 0x29
jmp 0x44ca58
mov byte [edi], 0x28
jmp 0x44ca58
mov byte [edi], 0x37
jmp 0x44ca58
sub eax, 0x32
je 0x44ce69
sub eax, 7
je 0x44ce61
push 2
pop esi
sub eax, esi
je 0x44ce59
sub eax, esi
je 0x44ce51
sub eax, esi
je 0x44ce49
push dword [ebp - 0x2c]
push edi
add edi, 3
push edi
call fcn.0045a680
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
mov byte [eax], 0x5d
add ecx, 3
mov byte [ebx + 3], 0x55
add esp, 0xc
add ebx, 4
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
mov edx, dword [ebp - 0x38]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x38]
add ebx, esi
mov dword [ebp - 8], ebx
mov byte [eax + 2], cl
jmp 0x44ca58
mov byte [edi], 0x45
jmp 0x44ca58
mov byte [edi], 0x44
jmp 0x44ca58
mov byte [edi], 0x43
jmp 0x44ca58
mov byte [edi], 0x42
jmp 0x44ca58
mov byte [edi], 0x38
jmp 0x44ca58
test byte [ebp - 0x24], 2
je 0x44ce81
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x44ce81
or dword [ebp - 0x28], 0xffffffff
and dword [ebp - 0xc], 0
mov byte [ebx], 0x1a
jmp 0x44bcce
test dword [edi + 0x44], 0x2000000
jne 0x44e389
mov al, byte [ebp - 0x10]
xor esi, esi
inc esi
cmp dword [ebp - 0x30], 0
mov byte [ebp - 0xa8], al
je 0x44e1ac
mov ecx, 0xc0
cmp dword [ebp - 0x10], ecx
jl 0x44e1ac
mov eax, dword [ebp - 4]
jmp 0x44ced0
mov dword [ebp - 4], eax
mov dl, byte [eax]
mov byte [ebp + esi - 0xa8], dl
inc esi
inc eax
mov dl, byte [eax]
and dl, cl
cmp dl, 0x80
je 0x44cec3
jmp 0x44e1ac
mov eax, dword [ebp - 4]
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x9c], eax
push dword [edi + 0x34]
lea eax, [ebp - 4]
push dword [ebp + 0x14]
push eax
call fcn.0044a35c
mov edx, eax
mov eax, dword [ebp + 0x14]
add esp, 0x14
cmp dword [eax], 0
jne 0x44e447
test edx, edx
jns 0x44d646
mov edi, edx
neg edi
cmp edi, 0x1a
jne 0x44cf43
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x5c
jne 0x44cf34
add eax, 2
cmp byte [eax], 0x45
jne 0x44cf34
mov dword [ebp - 4], eax
jmp 0x44cf3b
mov dword [ebp - 0x54], 1
mov edi, dword [ebp + 0x24]
jmp 0x44d2ea
cmp edi, 0x19
je 0x44cf3b
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x44cf5c
cmp edi, 5
jle 0x44cf5c
cmp edi, 0x17
jge 0x44cf5c
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp edi, 0x1b
jne 0x44d389
mov edi, dword [ebp + 0x24]
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x50], eax
inc ecx
xor eax, eax
mov dword [ebp - 4], ecx
cmp byte [ecx], 0x3c
setne al
and dword [ebp - 0x20], 0
and dword [ebp - 0x2c], 0
dec eax
and eax, 0x17
add eax, 0x27
mov dword [ebp - 0x18], eax
lea eax, [ecx + 1]
mov dl, byte [eax]
cmp dl, 0x2b
je 0x44d012
cmp dl, 0x2d
je 0x44d012
mov ecx, eax
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ecx
jmp 0x44cfda
movzx ecx, cl
cmp ecx, dword [ebp - 0x18]
je 0x44cfe0
mov edx, dword [edi + 0xc]
mov cl, byte [ecx + edx]
test cl, 4
jne 0x44cfcf
and dword [ebp - 0x1c], 0
test cl, 0x10
je 0x44cfe0
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov cl, byte [ecx]
test cl, cl
jne 0x44cfb8
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ecx]
cmp ecx, dword [ebp - 0x18]
je 0x44cff9
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x44d2ea
cmp dword [ebp - 0x1c], 0
je 0x44d006
mov edx, eax
mov dword [ebp - 4], edx
jmp 0x44d032
mov dword [ebp - 0x20], 1
jmp 0x44d3d5
add ecx, 2
jmp 0x44d018
inc ecx
movzx edx, byte [ecx]
test byte [edx + 0x470710], 4
jne 0x44d017
movzx ecx, byte [ecx]
cmp ecx, dword [ebp - 0x18]
jne 0x44cfeb
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
mov cl, byte [edx]
movzx esi, cl
cmp esi, 0x2b
jne 0x44d05e
inc edx
mov dword [ebp - 4], edx
movzx eax, byte [edx]
test byte [eax + 0x470710], 4
jne 0x44d30a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3f
jmp 0x44e447
cmp esi, 0x2d
jne 0x44d30a
inc edx
movzx eax, byte [edx]
test byte [eax + 0x470710], 4
jne 0x44d307
xor edx, edx
xor esi, esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], esi
lea eax, [ebp - 0x14]
cmp cl, 0x29
je 0x44d107
cmp cl, 0x3a
je 0x44d101
inc dword [ebp - 4]
movzx ecx, cl
cmp ecx, 0x69
jg 0x44d0d7
je 0x44d0d2
cmp ecx, 0x2d
je 0x44d0cd
cmp ecx, 0x4a
je 0x44d0c1
cmp ecx, 0x55
je 0x44d0b9
cmp ecx, 0x58
jne 0x44e397
or dword [eax], 0x40
jmp 0x44d0f7
or dword [eax], 0x200
jmp 0x44d0f7
or dword [eax], 0x80000
or dword [edi + 0x48], 0x10
jmp 0x44d0f7
lea eax, [ebp - 0x1c]
jmp 0x44d0f7
or dword [eax], 1
jmp 0x44d0f7
cmp ecx, 0x6d
je 0x44d0f4
cmp ecx, 0x73
je 0x44d0ef
cmp ecx, 0x78
jne 0x44e397
or dword [eax], 8
jmp 0x44d0f7
or dword [eax], 4
jmp 0x44d0f7
or dword [eax], 2
mov ecx, dword [ebp - 4]
mov cl, byte [ecx]
cmp cl, 0x29
jne 0x44d08a
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
or esi, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
not edx
and esi, edx
cmp byte [eax], 0x29
mov ecx, esi
mov dword [ebp - 0x48], ecx
jne 0x44d17e
mov eax, dword [edi + 0x14]
add eax, 3
cmp ebx, eax
jne 0x44d136
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x44d131
cmp dword [eax], 6
jne 0x44d136
mov dword [edi + 0x44], ecx
jmp 0x44d171
mov eax, ecx
xor eax, dword [ebp - 0x24]
test al, 7
je 0x44d14f
mov al, cl
and al, 7
mov byte [ebx], 0x19
mov byte [ebx + 1], al
add ebx, 2
mov dword [ebp - 8], ebx
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0xc0], eax
xor eax, 1
mov dword [ebp - 0xbc], eax
mov eax, ecx
and eax, 1
shl eax, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], ecx
mov dword [eax], ecx
jmp 0x44becd
inc dword [ebp - 4]
mov dword [ebp - 0x1c], 0x5e
mov dword [ebp - 0xc], ebx
jmp 0x44bee1
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x28]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x64]
and ecx, edx
push ecx
push edi
push dword [ebp + 0x20]
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [ebp - 0xac]
push ecx
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x24]
and eax, 7
push eax
push dword [ebp - 0x48]
call fcn.0044e456
add esp, 0x34
test eax, eax
je 0x44e447
cmp dword [ebp - 0x1c], 0x60
mov eax, dword [ebp + 0x28]
jne 0x44d217
test eax, eax
jne 0x44d217
mov ecx, ebx
xor edx, edx
movzx esi, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl esi, 8
or esi, edi
add ecx, esi
inc edx
cmp byte [ecx], 0x55
jne 0x44d1ec
cmp byte [ebx + 3], 0x68
jne 0x44d265
cmp edx, 1
jg 0x44e3a8
mov dword [ebp - 0x1c], 0x68
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 4]
cmp byte [edx], 0x29
jne 0x44e3c4
xor edx, edx
cmp eax, edx
je 0x44d281
mov ecx, dword [eax]
mov edx, dword [ebp - 0x64]
mov esi, 0x7fffffeb
sub esi, ecx
lea edi, [edx - 6]
cmp esi, edi
jl 0x44e2b9
lea ecx, [ecx + edx - 6]
mov dword [eax], ecx
mov word [ebx], 0x5e
mov word [ebx + 2], 0x5503
mov word [ebx + 4], 0x300
add ebx, 6
mov dword [ebp - 8], ebx
jmp 0x44d2e4
cmp edx, 2
jg 0x44e3b6
cmp edx, 1
jne 0x44d217
or ecx, 0xffffffff
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0xac], ecx
jmp 0x44d21d
cmp dword [ebp - 0x1c], 0x68
mov eax, dword [ebp - 0x38]
mov dword [ebp - 8], eax
je 0x44d2e1
cmp dword [ebp - 0x1c], 0x5d
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xb0], edx
jl 0x44d2f8
cmp eax, 0xfffffffe
jne 0x44d2c7
cmp ecx, edx
jl 0x44d2bd
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xb0], 1
jmp 0x44d2c1
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x5c], 0xffffffff
jmp 0x44d2d6
cmp ecx, edx
jl 0x44d2d6
cmp dword [ebp - 0x6c], edx
jge 0x44d2db
or ecx, dword [ebp - 0x74]
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6c], edx
jl 0x44d2e1
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 8]
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp - 0xc]
inc dword [ebp - 4]
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 4]
jmp 0x44b9f9
cmp dword [ebp - 0x1c], 0x58
jne 0x44d2e1
mov eax, dword [ebp - 0x6c]
cmp eax, edx
jl 0x44d2e1
jmp 0x44d2de
mov dword [ebp - 4], edx
movzx eax, byte [edx]
xor ecx, ecx
test byte [eax + 0x470710], 4
mov dword [ebp - 0x10], ecx
je 0x44d335
imul ecx, ecx, 0xa
inc edx
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 4], edx
movzx eax, byte [edx]
test byte [eax + 0x470710], 4
jne 0x44d31b
mov dword [ebp - 0x10], ecx
movzx eax, byte [edx]
cmp eax, dword [ebp - 0x18]
jne 0x44e3cf
cmp esi, 0x2d
jne 0x44d36d
test ecx, ecx
je 0x44e2f8
mov eax, dword [edi + 0x34]
sub eax, ecx
inc eax
mov dword [ebp - 0x10], eax
test eax, eax
jg 0x44d4ae
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x44e447
cmp esi, 0x2b
jne 0x44d4ae
test ecx, ecx
je 0x44e2f8
add ecx, dword [edi + 0x34]
mov dword [ebp - 0x10], ecx
jmp 0x44d4ae
cmp edi, 0x1c
jne 0x44d5b9
mov eax, dword [ebp - 4]
inc eax
mov cl, byte [eax]
cmp cl, 0x3c
je 0x44d3ab
cmp cl, 0x27
je 0x44d3ab
cmp cl, 0x7b
jne 0x44d5b9
and dword [ebp - 0x20], 0
mov edi, dword [ebp + 0x24]
mov dword [ebp - 4], eax
mov al, byte [eax]
cmp al, 0x3c
jne 0x44d3c4
mov dword [ebp - 0x18], 0x3e
jmp 0x44d3d5
xor ecx, ecx
cmp al, 0x27
setne cl
dec ecx
and ecx, 0xffffffaa
add ecx, 0x7d
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
mov ecx, dword [edi + 0xc]
inc edx
mov dword [ebp - 4], edx
movzx eax, byte [edx]
test byte [eax + ecx], 0x10
mov dword [ebp - 0x14], edx
je 0x44d3fa
mov eax, ecx
inc edx
mov dword [ebp - 4], edx
movzx ecx, byte [edx]
test byte [ecx + eax], 0x10
jne 0x44d3ed
mov eax, edx
sub eax, dword [ebp - 0x14]
cmp dword [ebp + 0x28], 0
mov dword [ebp - 8], eax
je 0x44d42b
test eax, eax
je 0x44e3da
movzx ecx, byte [edx]
cmp ecx, dword [ebp - 0x18]
jne 0x44e331
cmp eax, 0x20
jg 0x44c33e
and dword [ebp - 0x10], 0
jmp 0x44d4a4
and dword [ebp - 0xc], 0
cmp dword [edi + 0x2c], 0
mov esi, dword [edi + 0x28]
jle 0x44d466
push dword [ebp - 8]
lea eax, [esi + 2]
push eax
push dword [ebp - 0x14]
call fcn.0045a9e1
add esp, 0xc
test eax, eax
jne 0x44d458
mov eax, dword [ebp - 8]
cmp byte [esi + eax + 2], 0
je 0x44d466
add esi, dword [edi + 0x30]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [edi + 0x2c]
jl 0x44d438
mov eax, dword [ebp - 0xc]
cmp eax, dword [edi + 0x2c]
jge 0x44d47f
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x44d4a4
mov eax, dword [ebp - 0x24]
shr eax, 3
and eax, 1
push eax
push dword [ebp - 8]
mov esi, edi
push dword [ebp - 0x14]
call fcn.0044aa52
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
jle 0x44d35f
cmp dword [ebp - 0x20], 0
je 0x44d5c9
cmp dword [ebp + 0x28], 0
mov eax, dword [edi + 0x14]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], eax
jne 0x44d530
cmp dword [ebp - 0x10], 0
mov byte [ebx], 0
je 0x44d4d9
push dword [ebp - 0x10]
mov eax, dword [edi + 0x14]
push dword [ebp - 0x30]
call fcn.0044ada5
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x44d574
mov eax, dword [ebp - 0x24]
shr eax, 3
and eax, 1
push eax
push dword [ebp - 0x10]
mov esi, edi
push 0
call fcn.0044aa52
add esp, 0xc
test eax, eax
js 0x44d35f
mov eax, dword [edi + 0x14]
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov dword [ebp - 0x14], ecx
mov ecx, ebx
sub ecx, eax
mov eax, dword [edi + 0x24]
add ecx, 4
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [edi + 0x24]
mov al, bl
sub al, byte [edi + 0x14]
add al, 4
mov byte [ecx + 1], al
add dword [edi + 0x24], 2
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0xc]
mov dword [ebx], 0x5206005d
mov ecx, eax
sub ecx, dword [edi + 0x14]
add ebx, 9
sar ecx, 8
mov byte [ebx - 5], cl
sub al, byte [edi + 0x14]
cmp dword [ebp - 0x28], 0xfffffffe
mov byte [ebx - 4], al
mov word [ebx - 3], 0x55
mov byte [ebx - 1], 6
mov dword [ebp - 8], ebx
mov dword [ebp - 0x64], 9
jne 0x44d2ea
or dword [ebp - 0x28], 0xffffffff
jmp 0x44d2ea
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
jne 0x44d530
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x44e3e5
mov ecx, dword [esi + 4]
cmp ecx, eax
jb 0x44e3e5
push dword [ebp - 0x30]
push ebx
push ecx
call fcn.0044af06
add esp, 0xc
test eax, eax
je 0x44d52d
mov esi, dword [esi]
test esi, esi
je 0x44e3e5
mov eax, dword [ebp - 0x14]
jmp 0x44d58e
cmp edi, 0x1d
jl 0x44d60e
mov edi, dword [ebp + 0x24]
push 0xffffffffffffffe3
pop eax
sub eax, edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x44d5d3
or dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov eax, ecx
sar eax, 8
mov byte [ebx], 0x51
mov byte [ebx + 1], al
xor eax, eax
mov dword [ebp - 0xc], ebx
mov byte [ebx + 2], cl
add ebx, 3
inc eax
mov dword [ebp - 8], ebx
cmp ecx, 0x20
jge 0x44d5f7
shl eax, cl
or dword [edi + 0x40], eax
cmp ecx, dword [edi + 0x3c]
jle 0x44d2e7
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x3c], eax
jmp 0x44d2e7
cmp edi, 0x16
je 0x44e3f0
cmp edi, 0xf
je 0x44e3f0
cmp edi, 0x10
je 0x44e3f0
cmp edi, 5
jle 0x44d638
cmp edi, 0x17
jge 0x44d638
mov dword [ebp - 0xc], ebx
jmp 0x44d63c
and dword [ebp - 0xc], 0
neg dl
mov byte [ebx], dl
inc ebx
jmp 0x44d260
cmp dword [ebp - 0x30], 0
je 0x44d665
cmp edx, 0x7f
jle 0x44d665
mov ecx, edx
lea eax, [ebp - 0xa8]
call fcn.004549a8
mov esi, eax
jmp 0x44e1a9
mov byte [ebp - 0xa8], dl
jmp 0x44e1a6
mov al, byte [edx + 1]
mov dword [ebp - 0xc], ebx
cmp al, 0x3a
je 0x44d682
cmp al, 0x2e
je 0x44d682
cmp al, 0x3d
jne 0x44d699
lea eax, [ebp - 0x9c]
push eax
mov eax, edx
call fcn.0044b154
pop ecx
test eax, eax
jne 0x44e3fb
and dword [ebp - 0x18], 0
inc edx
mov dword [ebp - 4], edx
movzx eax, byte [edx]
mov dword [ebp - 0x10], eax
cmp eax, 0x5c
jne 0x44d6cf
inc edx
cmp byte [edx], 0x45
je 0x44d69d
push 3
push 0x475b64
push edx
call fcn.0045a9e1
add esp, 0xc
test eax, eax
jne 0x44d719
add dword [ebp - 4], 3
mov edx, dword [ebp - 4]
jmp 0x44d69d
cmp dword [ebp - 0x18], 0
jne 0x44d6e3
cmp eax, 0x5e
jne 0x44d6e3
mov dword [ebp - 0x18], 1
jmp 0x44d69d
cmp eax, 0x5d
jne 0x44d719
test dword [edi + 0x44], 0x2000000
je 0x44d719
cmp dword [ebp - 0x18], 0
sete al
dec al
and al, 0x9e
add al, 0x6f
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 8], ebx
jne 0x44d70e
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
jmp 0x44d2e7
or dword [ebp - 0x20], 0xffffffff
xor edi, edi
push 0x20
lea eax, [ebp - 0x94]
push edi
push eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], edi
call fcn.00456fd0
add esp, 0xc
lea esi, [ebx + 4]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x74], esi
cmp dword [ebp - 0x10], edi
je 0x44e43e
cmp dword [ebp - 0x30], 0
je 0x44d7af
cmp dword [ebp - 0x10], 0x7f
jle 0x44d7af
mov eax, dword [ebp - 4]
movzx edx, byte [eax]
mov dword [ebp - 0x10], edx
cmp edx, 0xc0
jl 0x44d7af
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov edi, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
and edi, edx
shl edi, cl
xor edx, edx
inc edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x10], edi
cmp eax, edx
jl 0x44d7ac
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 4]
movzx edx, byte [edi + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or dword [ebp - 0x10], edx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x44d78f
add dword [ebp - 4], eax
mov eax, dword [ebp + 0x28]
xor edi, edi
cmp eax, edi
je 0x44d7c1
mov ecx, esi
mov esi, dword [ebp - 0x74]
sub ecx, esi
add dword [eax], ecx
cmp dword [ebp - 0x54], edi
je 0x44d7e8
cmp dword [ebp - 0x10], 0x5c
jne 0x44dd98
mov eax, dword [ebp - 4]
inc eax
cmp byte [eax], 0x45
jne 0x44dd98
mov dword [ebp - 0x54], edi
mov dword [ebp - 4], eax
jmp 0x44e088
cmp dword [ebp - 0x10], 0x5b
jne 0x44d93e
mov edx, dword [ebp - 4]
mov al, byte [edx + 1]
cmp al, 0x3a
je 0x44d808
cmp al, 0x2e
je 0x44d808
cmp al, 0x3d
jne 0x44dd98
lea eax, [ebp - 0x9c]
push eax
mov eax, edx
call fcn.0044b154
pop ecx
test eax, eax
je 0x44dd98
cmp byte [edx + 1], 0x3a
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 8]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x2c], eax
jne 0x44e412
add edx, 2
mov dword [ebp - 4], edx
cmp byte [edx], 0x5e
jne 0x44d84d
xor eax, eax
inc eax
inc edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x9c]
sub eax, edx
push eax
push edx
call fcn.0044b197
pop ecx
pop ecx
cmp eax, edi
jl 0x44e41d
test byte [ebp - 0x24], 1
je 0x44d873
cmp eax, 2
jg 0x44d873
xor eax, eax
imul eax, eax, 3
mov edi, eax
mov eax, dword [edi*4 + 0x46fcf8]
add eax, dword [ebp - 0x2c]
push 0x20
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00454ef0
mov eax, dword [edi*4 + 0x46fcfc]
mov edx, dword [edi*4 + 0x46fd00]
add esp, 0xc
test eax, eax
js 0x44d8d5
mov edi, dword [ebp - 0x2c]
xor ecx, ecx
add edi, eax
test edx, edx
js 0x44d8c3
mov al, byte [edi + ecx]
or byte [ebp + ecx - 0xe0], al
inc ecx
cmp ecx, 0x20
jl 0x44d8b1
jmp 0x44d8d5
mov al, byte [edi + ecx]
not al
and byte [ebp + ecx - 0xe0], al
inc ecx
cmp ecx, 0x20
jl 0x44d8c3
xor eax, eax
cmp edx, eax
jge 0x44d8dd
neg edx
cmp edx, 1
jne 0x44d8eb
and byte [ebp - 0xdf], 0xc3
jmp 0x44d8f7
cmp edx, 2
jne 0x44d8f7
and byte [ebp - 0xd5], 0x7f
cmp dword [ebp - 0x48], eax
je 0x44d914
mov cl, byte [ebp + eax - 0xe0]
not cl
or byte [ebp + eax - 0x94], cl
inc eax
cmp eax, 0x20
jl 0x44d8fc
jmp 0x44d928
mov cl, byte [ebp + eax - 0xe0]
or byte [ebp + eax - 0x94], cl
inc eax
cmp eax, 0x20
jl 0x44d914
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], 0xa
jmp 0x44e088
cmp dword [ebp - 0x10], 0x5c
jne 0x44dd98
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
push 1
push dword [ebp - 0x24]
push dword [eax + 0x34]
lea eax, [ebp - 4]
push edi
push eax
call fcn.0044a35c
add esp, 0x14
cmp dword [edi], 0
mov dword [ebp - 0x10], eax
jne 0x44e447
mov edx, eax
neg edx
cmp edx, 5
jne 0x44d984
mov dword [ebp - 0x10], 8
jmp 0x44dd98
cmp edx, 0x16
jne 0x44d995
mov dword [ebp - 0x10], 0x58
jmp 0x44dd98
cmp edx, 0x11
jne 0x44d9a6
mov dword [ebp - 0x10], 0x52
jmp 0x44dd98
cmp edx, 0x1a
jne 0x44d9cc
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x5c
jne 0x44d9c0
add eax, 2
cmp byte [eax], 0x45
je 0x44d7e0
mov dword [ebp - 0x54], 1
jmp 0x44e088
cmp edx, 0x19
je 0x44e088
test eax, eax
jns 0x44dd98
mov ecx, dword [ebp + 0x24]
add dword [ebp - 0x14], 2
mov ecx, dword [ecx + 8]
xor edi, edi
cmp dword [ebp + 0x28], edi
jne 0x44dad9
mov eax, edx
sub eax, 6
je 0x44daba
dec eax
je 0x44daa4
dec eax
je 0x44da75
dec eax
je 0x44da4f
dec eax
je 0x44da2d
dec eax
jne 0x44db0f
mov al, byte [ecx + edi + 0xa0]
or byte [ebp + edi - 0x94], al
inc edi
cmp edi, 0x20
jl 0x44da14
jmp 0x44e088
mov dword [ebp - 8], 1
mov al, byte [ecx + edi + 0xa0]
not al
or byte [ebp + edi - 0x94], al
inc edi
cmp edi, 0x20
jl 0x44da34
jmp 0x44e088
lea eax, [ebp - 0x94]
sub ecx, eax
lea eax, [ebp + edi - 0x94]
mov dl, byte [ecx + eax]
or byte [eax], dl
inc edi
cmp edi, 0x20
jl 0x44da57
and byte [ebp - 0x93], 0xf7
jmp 0x44e088
lea eax, [ebp - 0x94]
mov dword [ebp - 8], 1
sub ecx, eax
lea eax, [ebp + edi - 0x94]
mov dl, byte [ecx + eax]
not dl
or byte [eax], dl
inc edi
cmp edi, 0x20
jl 0x44da84
or byte [ebp - 0x93], 8
jmp 0x44e088
mov al, byte [ecx + edi + 0x40]
or byte [ebp + edi - 0x94], al
inc edi
cmp edi, 0x20
jl 0x44daa4
jmp 0x44e088
mov dword [ebp - 8], 1
mov al, byte [ecx + edi + 0x40]
not al
or byte [ebp + edi - 0x94], al
inc edi
cmp edi, 0x20
jl 0x44dac1
jmp 0x44e088
cmp eax, 0xfffffff9
je 0x44e088
cmp eax, 0xfffffffa
je 0x44e088
cmp eax, 0xfffffff5
je 0x44e088
cmp eax, 0xfffffff6
je 0x44e088
cmp eax, 0xfffffff7
je 0x44e088
cmp eax, 0xfffffff8
je 0x44e088
cmp edx, 0x13
jne 0x44dbb9
or byte [ebp - 0x93], 2
or byte [ebp - 0x90], 1
or byte [ebp - 0x80], 1
cmp dword [ebp - 0x30], edi
je 0x44e088
mov byte [esi], 1
inc esi
mov eax, esi
mov ecx, 0x1680
mov dword [ebp - 0x1c], 1
call fcn.004549a8
add esi, eax
mov byte [esi], 1
inc esi
mov eax, esi
mov ecx, 0x180e
call fcn.004549a8
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x2000
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x200a
call fcn.004549a8
add esi, eax
mov byte [esi], 1
inc esi
mov eax, esi
mov ecx, 0x202f
call fcn.004549a8
add esi, eax
mov byte [esi], 1
inc esi
mov eax, esi
mov ecx, 0x205f
call fcn.004549a8
add esi, eax
mov ecx, 0x3000
mov byte [esi], 1
inc esi
mov eax, esi
call fcn.004549a8
add esi, eax
jmp 0x44e088
cmp edx, 0x12
jne 0x44dcdd
xor ecx, ecx
mov eax, ecx
dec eax
mov edx, 0xff
je 0x44dbdf
sub eax, 3
je 0x44dbd8
sub eax, 0x10
jne 0x44dbe4
mov edx, 0xfe
jmp 0x44dbe4
mov edx, 0xfd
or byte [ebp + ecx - 0x94], dl
inc ecx
cmp ecx, 0x20
jl 0x44dbc4
cmp dword [ebp - 0x30], edi
je 0x44e088
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x100
mov dword [ebp - 0x1c], 1
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x167f
call fcn.004549a8
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x1681
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x180d
call fcn.004549a8
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x180f
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x1fff
call fcn.004549a8
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x200b
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x202e
call fcn.004549a8
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x2030
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x205e
call fcn.004549a8
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x2060
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x2fff
call fcn.004549a8
mov ecx, 0x3001
add esi, eax
mov byte [esi], 2
inc esi
mov eax, esi
call fcn.004549a8
add esi, eax
mov ecx, SysReAllocString
jmp 0x44dbab
cmp edx, 0x15
jne 0x44dd1c
or byte [ebp - 0x93], 0x3c
or byte [ebp - 0x84], 0x20
cmp dword [ebp - 0x30], edi
je 0x44e088
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x2028
mov dword [ebp - 0x1c], 1
call fcn.004549a8
add esi, eax
mov ecx, 0x2029
jmp 0x44dbab
cmp edx, 0x14
jne 0x44dd81
xor eax, eax
mov edx, eax
dec edx
mov ecx, 0xff
je 0x44dd37
sub edx, 0xf
jne 0x44dd3c
add ecx, 0xffffffe0
jmp 0x44dd3c
mov ecx, 0xc3
or byte [ebp + eax - 0x94], cl
inc eax
cmp eax, 0x20
jl 0x44dd23
cmp dword [ebp - 0x30], edi
je 0x44e088
mov byte [esi], 2
inc esi
mov eax, esi
mov ecx, 0x100
mov dword [ebp - 0x1c], 1
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, 0x2027
call fcn.004549a8
mov ecx, 0x2029
jmp 0x44dcc4
test byte [ebp - 0x24], 0x40
jne 0x44e428
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
sub dword [ebp - 0x14], 2
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x5c
jne 0x44ddb6
add eax, 2
cmp byte [eax], 0x45
jne 0x44ddb6
and dword [ebp - 0x54], 0
mov dword [ebp - 4], eax
cmp byte [eax + 1], 0x5c
je 0x44dda1
cmp dword [ebp - 0x10], 0xd
mov eax, dword [ebp - 4]
mov edx, eax
mov dword [ebp - 0x48], edx
je 0x44ddca
cmp dword [ebp - 0x10], 0xa
jne 0x44ddd1
mov ecx, dword [ebp + 0x24]
or dword [ecx + 0x48], 0x20
cmp dword [ebp - 0x54], 0
jne 0x44e006
cmp byte [eax + 1], 0x2d
jne 0x44e006
push 2
pop ecx
add eax, ecx
mov dword [ebp - 4], eax
cmp byte [eax], 0x5c
jne 0x44de2d
cmp byte [eax + 1], 0x45
jne 0x44de1f
add eax, ecx
mov dword [ebp - 4], eax
cmp byte [eax], 0x5c
je 0x44ddf2
jmp 0x44de1f
cmp byte [eax + 1], 0x51
jne 0x44de2d
add eax, ecx
mov dword [ebp - 4], eax
cmp byte [eax], 0x5c
jne 0x44de26
cmp byte [eax + 1], 0x45
jne 0x44de26
add eax, ecx
mov dword [ebp - 4], eax
cmp byte [eax], 0x5c
je 0x44de04
jmp 0x44de2d
mov dword [ebp - 0x54], 1
mov cl, byte [eax]
test cl, cl
je 0x44e003
cmp dword [ebp - 0x54], 0
jne 0x44de46
cmp cl, 0x5d
je 0x44e003
cmp dword [ebp - 0x30], 0
movzx edi, cl
je 0x44dea8
cmp edi, 0xc0
jl 0x44dea8
mov ecx, edi
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x2c], edx
mov edx, dword [edx*4 + 0x46f0c8]
and edi, edx
shl edi, cl
cmp dword [ebp - 0x2c], 1
mov dword [ebp - 0x40], 1
jl 0x44dea2
mov edx, dword [ebp - 0x40]
movzx eax, byte [edx + eax]
and eax, 0x3f
sub ecx, 6
shl eax, cl
or edi, eax
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
jle 0x44de83
add eax, dword [ebp - 0x2c]
mov dword [ebp - 4], eax
cmp dword [ebp - 0x54], 0
jne 0x44deeb
cmp edi, 0x5c
jne 0x44deeb
mov eax, dword [ebp + 0x24]
push 1
push dword [ebp - 0x24]
push dword [eax + 0x34]
lea eax, [ebp - 4]
push dword [ebp + 0x14]
push eax
call fcn.0044a35c
mov edi, eax
mov eax, dword [ebp + 0x14]
add esp, 0x14
cmp dword [eax], 0
jne 0x44e447
test edi, edi
jns 0x44deeb
cmp edi, 0xfffffffb
jne 0x44dfe3
push 8
pop edi
cmp edi, dword [ebp - 0x10]
jl 0x44e433
je 0x44e006
cmp edi, 0xd
je 0x44df04
cmp edi, 0xa
jne 0x44df0b
mov eax, dword [ebp + 0x24]
or dword [eax + 0x48], 0x20
cmp dword [ebp - 0x30], 0
je 0x44df5c
cmp edi, 0xff
jg 0x44df24
test byte [ebp - 0x24], 1
je 0x44df5c
cmp edi, 0x7f
jle 0x44df5c
mov ecx, dword [ebp - 0x10]
mov byte [esi], 2
inc esi
mov eax, esi
mov dword [ebp - 0x1c], 1
call fcn.004549a8
add esi, eax
mov eax, esi
mov ecx, edi
call fcn.004549a8
add esi, eax
test byte [ebp - 0x24], 1
je 0x44e088
push 0x7f
pop edi
cmp dword [ebp - 0x10], edi
jg 0x44e088
mov ecx, dword [ebp - 0x14]
mov eax, edi
sub eax, dword [ebp - 0x10]
cmp dword [ebp + 0x28], 0
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], edi
jne 0x44e088
cmp dword [ebp - 0x10], edi
jg 0x44e088
mov eax, dword [ebp - 0x24]
and eax, 1
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x10]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
shl dl, cl
sar eax, 3
lea eax, [ebp + eax - 0x94]
or byte [eax], dl
cmp dword [ebp - 0x48], 0
je 0x44dfd6
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
sar eax, 3
shl dl, cl
lea eax, [ebp + eax - 0x94]
or byte [eax], dl
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x44df8a
jmp 0x44e088
cmp edi, 0xffffffea
jne 0x44dfef
push 0x58
jmp 0x44deea
cmp edi, 0xffffffef
jne 0x44dffb
push 0x52
jmp 0x44deea
mov eax, dword [ebp - 0x48]
mov dword [ebp - 4], eax
jmp 0x44e006
mov dword [ebp - 4], edx
cmp dword [ebp - 0x30], 0
je 0x44e030
cmp dword [ebp - 0x10], 0xff
jg 0x44e021
test byte [ebp - 0x24], 1
je 0x44e030
cmp dword [ebp - 0x10], 0x7f
jle 0x44e030
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], 1
jmp 0x44dba7
mov ecx, dword [ebp - 0x10]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x94]
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
test byte [ebp - 0x24], 1
je 0x44e07f
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x94]
mov dword [ebp - 0x10], ecx
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x44e43e
cmp eax, 0x5d
jne 0x44d749
cmp dword [ebp - 0x54], 0
jne 0x44d749
xor edi, edi
cmp dword [ebp - 0x14], 1
jne 0x44e0dc
cmp dword [ebp - 0x1c], edi
jne 0x44e0dc
cmp dword [ebp - 0x30], edi
je 0x44e162
cmp dword [ebp - 0x18], edi
je 0x44e162
mov eax, dword [ebp - 0x20]
cmp eax, 0x80
jl 0x44e165
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x44e0e6
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x1c], edi
je 0x44e25f
cmp dword [ebp - 8], edi
jne 0x44e25f
mov byte [esi], 0
inc esi
cmp dword [ebp - 0x18], edi
mov byte [ebx], 0x50
setne al
mov byte [ebx + 3], al
cmp dword [ebp - 0x14], edi
jle 0x44e145
or al, 2
mov byte [ebx + 3], al
add ebx, 4
mov eax, esi
sub eax, ebx
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call fcn.0045a680
push 0x20
lea eax, [ebp - 0x94]
push eax
push ebx
call fcn.00454ef0
add esp, 0x18
add esi, 0x20
mov eax, dword [ebp - 0xc]
mov ecx, esi
sub ecx, eax
sar ecx, 8
mov dword [ebp - 8], esi
mov byte [eax + 1], cl
mov cl, byte [ebp - 8]
sub cl, al
mov byte [eax + 2], cl
jmp 0x44d2e1
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x18], edi
je 0x44e18e
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x44e17a
or dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x28]
mov byte [ebx], 0x1e
mov byte [ebx + 1], al
mov dword [ebp - 0x5c], ecx
add ebx, 2
jmp 0x44d260
cmp dword [ebp - 0x30], edi
je 0x44e1a0
cmp eax, 0x7f
jle 0x44e1a0
mov ecx, dword [ebp - 0x20]
jmp 0x44d653
mov byte [ebp - 0xa8], al
xor esi, esi
inc esi
mov edi, dword [ebp + 0x24]
mov al, byte [ebp - 0x24]
and al, 1
or al, 0x1c
mov dword [ebp - 0xc], ebx
mov byte [ebx], al
inc ebx
mov dword [ebp - 8], ebx
test esi, esi
jle 0x44e1d6
push esi
lea eax, [ebp - 0xa8]
push eax
push ebx
call fcn.00454ef0
add esp, 0xc
add ebx, esi
mov dword [ebp - 8], ebx
cmp byte [ebp - 0xa8], 0xd
je 0x44e1e8
cmp byte [ebp - 0xa8], 0xa
jne 0x44e1ec
or dword [edi + 0x48], 0x20
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffffe
jne 0x44e23b
or dword [ebp - 0x5c], 0xffffffff
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp esi, 1
je 0x44e216
cmp dword [ebp - 0x68], 0
je 0x44e216
or dword [ebp - 0x44], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
jmp 0x44d2e7
movzx eax, byte [ebp - 0xa8]
or eax, dword [ebp - 0x68]
mov dword [ebp - 0x28], eax
cmp esi, 1
je 0x44d2e7
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x4c]
mov dword [ebp - 0x44], eax
jmp 0x44d2e7
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp esi, 1
je 0x44e253
cmp dword [ebp - 0x68], 0
jne 0x44d2e7
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x4c]
or eax, dword [ebp - 0x68]
jmp 0x44e233
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 8]
setne cl
add cl, 0x4e
mov byte [ebx], cl
inc ebx
cmp eax, edi
je 0x44e291
cmp dword [ebp + 0x28], edi
jne 0x44e2a3
lea eax, [ebp - 0x94]
push 0x20
mov esi, ebx
sub eax, ebx
pop edi
mov cl, byte [eax + esi]
not cl
mov byte [esi], cl
inc esi
dec edi
jne 0x44e284
jmp 0x44e2a3
push 0x20
lea eax, [ebp - 0x94]
push eax
push ebx
call fcn.00454ef0
add esp, 0xc
add ebx, 0x20
jmp 0x44d260
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x34
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x44e447
mov eax, dword [ebp + 0x14]
inc dword [ebp - 4]
mov dword [eax], 0x1c
jmp 0x44e447
mov eax, dword [ebp + 0x14]
dec esi
mov dword [ebp - 4], esi
mov dword [eax], 0x1a
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x44e447
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
jmp 0x44e40b
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x26
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2a
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x31
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2b
jmp 0x44e447
mov eax, dword [ebp + 0x14]
inc edx
mov dword [ebp - 4], edx
mov dword [eax], 0x18
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x37
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], pe_nt_image_headers32
jmp 0x44e447
mov eax, dword [ebp + 0x14]
dec dword [ebp - 4]
mov dword [eax], 0xc
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1b
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xe
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1d
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3e
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2d
jmp 0x44e447
xor eax, eax
cmp byte [edx + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1f
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 7
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x44e447
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret