Function at 0x441aca
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xb4
mov eax, dword [ebp + 0x5c]
mov edx, dword [eax]
mov eax, dword [ebp + 0x64]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax]
mov eax, edx
shr eax, 9
and eax, 1
push esi
mov dword [ebp - 0x38], eax
xor eax, 1
push edi
mov dword [ebp - 0x3c], eax
xor esi, esi
push 0xfffffffffffffffe
pop eax
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x38], eax
mov eax, edx
and eax, 1
shl eax, 8
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x30], edx
mov dword [ebp], esi
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 4], esi
mov dword [ebp - 0xc], esi
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x40], esi
mov dword [ebp + 0xc], esi
mov dword [ebp - 8], eax
cmp dword [ebp + 4], esi
movzx eax, byte [ecx]
mov dword [ebp + 0x48], eax
je 0x441b9a
cmp eax, esi
je 0x441b9a
cmp eax, 0x5c
jne 0x441b5c
lea eax, [ecx + 1]
cmp byte [eax], 0x45
jne 0x441b5c
mov dword [ebp + 4], esi
mov dword [ebp + 0x50], eax
jmp 0x442be2
cmp dword [ebp + 0xc], esi
je 0x441b74
push dword [ebp + 0x7c]
mov eax, ecx
mov ecx, dword [ebp + 0xc]
call fcn.00441aad
add esp, 4
mov dword [ebp + 0xc], esi
test word [ebp + 0x30], 0x4000
je 0x44246a
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x50]
mov eax, ebx
mov dword [ebp + 0xc], ebx
call fcn.00441a89
mov dword [ebp + 0x4c], eax
mov ebx, eax
jmp 0x44246a
cmp eax, 0x2a
je 0x441be4
cmp eax, 0x2b
je 0x441be4
cmp eax, 0x3f
je 0x441be4
cmp eax, 0x7b
jne 0x441bba
lea eax, [ecx + 1]
call fcn.0044143a
test eax, eax
jne 0x441be4
cmp dword [ebp + 0xc], esi
mov dword [ebp + 0x2c], esi
je 0x441beb
mov eax, dword [ebp]
dec dword [ebp]
test eax, eax
jg 0x441beb
mov edi, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00441aad
add esp, 4
and dword [ebp + 0xc], 0
jmp 0x441bee
mov dword [ebp + 0x2c], 1
mov edi, dword [ebp + 0x7c]
test byte [ebp + 0x30], 8
je 0x441c53
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x48]
test byte [ecx + eax], 1
jne 0x442be2
cmp dword [ebp + 0x48], 0x23
mov ecx, dword [ebp + 0x50]
jne 0x441c4e
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
test al, al
je 0x441c4a
mov esi, dword [ebp + 0x7c]
mov dl, byte [esi + 0x38]
cmp al, dl
jne 0x441c2f
cmp dword [esi + 0x34], 1
je 0x441c39
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x39]
je 0x441c39
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
test al, al
jne 0x441c1d
cmp byte [ecx], 0
je 0x441c4a
mov eax, dword [esi + 0x34]
lea eax, [ecx + eax - 1]
jmp 0x441b54
and dword [ebp + 0x48], 0
mov edi, dword [ebp + 0x7c]
jmp 0x441c56
mov ecx, dword [ebp + 0x50]
test word [ebp + 0x30], 0x4000
je 0x441c7b
cmp dword [ebp + 0x2c], 0
jne 0x441c7b
mov ecx, dword [ebp + 0x50]
mov esi, edi
mov eax, ebx
mov dword [ebp + 0xc], ebx
call fcn.00441a89
mov ecx, dword [ebp + 0x50]
mov dword [ebp + 0x4c], eax
mov ebx, eax
mov eax, dword [ebp + 0x48]
cmp eax, 0x2e
jg 0x44241a
je 0x4423f9
xor esi, esi
sub eax, esi
je 0x44243f
sub eax, 0x24
je 0x4423ee
sub eax, 4
je 0x441ccb
dec eax
je 0x44243f
dec eax
je 0x441cc6
dec eax
jne 0x44246a
mov dword [ebp + 0x24], 1
or dword [ebp + 0x20], 0xffffffff
jmp 0x442a79
mov dword [ebp + 0x24], esi
jmp 0x441cbd
mov eax, dword [ebp + 0x30]
inc ecx
mov dword [ebp + 0x50], ecx
cmp byte [ecx], 0x3f
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x2c], esi
jne 0x442298
inc ecx
mov dword [ebp + 0x50], ecx
mov dl, byte [ecx]
movzx eax, dl
cmp eax, 0x3c
jg 0x441e86
je 0x441e5f
cmp eax, 0x21
je 0x441e4f
cmp eax, 0x23
je 0x441e32
cmp eax, 0x28
je 0x441d37
cmp eax, 0x2f
jle 0x441eb0
cmp eax, 0x39
jle 0x441fa1
cmp eax, 0x3a
jne 0x441eb0
mov dword [ebp + 0x18], 0x50
jmp 0x442285
mov edx, dword [edi + 0xc]
inc ecx
movzx eax, byte [ecx]
test byte [eax + edx], 0x10
mov dword [ebp + 0x18], 0x4b
je 0x4422e0
and dword [ebp + 0x34], 0
mov esi, dword [edi + 0x18]
mov dword [ebp + 0x2c], 3
mov dword [ebp + 0x28], ecx
jmp 0x441d88
cmp dword [ebp + 0x34], 0
jl 0x441d87
movzx eax, al
test byte [eax + 0x457008], 4
je 0x441d83
mov edx, dword [ebp + 0x34]
imul edx, edx, 0xa
lea eax, [edx + eax - 0x30]
mov dword [ebp + 0x34], eax
jmp 0x441d87
or dword [ebp + 0x34], 0xffffffff
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x29
jne 0x441d62
and dword [ebp + 0x44], 0
mov eax, ecx
sub eax, dword [ebp + 0x28]
inc ecx
cmp dword [edi + 0x1c], 0
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x50], ecx
jle 0x441dcb
push dword [ebp + 0x48]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x28]
call fcn.004472f0
add esp, 0xc
test eax, eax
je 0x441dcb
add esi, dword [edi + 0x20]
inc dword [ebp + 0x44]
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jl 0x441da7
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jge 0x441ddc
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
jmp 0x441e1e
push dword [ebp + 0x48]
mov esi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x60]
push esi
push dword [eax]
mov eax, dword [ebp + 0x50]
call fcn.00441531
add esp, 0xc
test eax, eax
jg 0x441e1e
cmp dword [ebp + 0x48], 1
jne 0x441e13
cmp byte [esi], 0x52
jne 0x441e13
mov byte [ebx + 3], 0x4c
mov byte [ebx + 4], 0xff
mov byte [ebx + 5], 0xff
jmp 0x4422e0
mov eax, dword [ebp + 0x34]
test eax, eax
jle 0x442f54
mov ecx, eax
sar ecx, 8
mov byte [ebx + 3], 0x4c
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x4422e0
inc ecx
mov dword [ebp + 0x50], ecx
cmp byte [ecx], 0x29
je 0x442be2
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
cmp byte [eax], 0x29
jne 0x441e3f
jmp 0x442be2
mov dword [ebp + 0x18], 0x46
inc ecx
mov dword [ebp + 0x50], ecx
jmp 0x4422e7
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x21
je 0x441e7a
cmp al, 0x3d
jne 0x4422da
mov dword [ebp + 0x18], 0x47
jmp 0x441e56
mov dword [ebp + 0x18], 0x48
jmp 0x442292
sub eax, 0x3d
je 0x44228b
dec eax
je 0x44227e
sub eax, 5
je 0x442207
sub eax, 0xd
je 0x441fc3
dec eax
dec eax
je 0x441f9d
xor edi, edi
xor esi, esi
cmp dl, 0x29
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x44], esi
lea ecx, [ebp + 0x44]
je 0x441f33
cmp dl, 0x3a
je 0x441f2d
inc dword [ebp + 0x50]
movzx eax, dl
cmp eax, 0x69
jg 0x441f07
je 0x441f02
cmp eax, 0x2d
je 0x441efd
cmp eax, 0x4a
je 0x441ef5
cmp eax, 0x55
je 0x441eed
cmp eax, 0x58
jne 0x441f23
or dword [ecx], 0x40
jmp 0x441f23
or dword [ecx], 0x200
jmp 0x441f23
or dword [ecx], 0x80000
jmp 0x441f23
lea ecx, [ebp + 0x48]
jmp 0x441f23
or dword [ecx], 1
jmp 0x441f23
cmp eax, 0x6d
je 0x441f20
cmp eax, 0x73
je 0x441f1b
cmp eax, 0x78
jne 0x441f23
or dword [ecx], 8
jmp 0x441f23
or dword [ecx], 4
jmp 0x441f23
or dword [ecx], 2
mov eax, dword [ebp + 0x50]
mov dl, byte [eax]
cmp dl, 0x29
jne 0x441ec2
mov esi, dword [ebp + 0x44]
mov edi, dword [ebp + 0x48]
or esi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x50]
not edi
and esi, edi
cmp byte [ecx], 0x29
mov eax, esi
mov dword [ebp + 0x14], eax
jne 0x441f8b
mov ecx, eax
xor ecx, dword [ebp + 0x30]
test cl, 7
je 0x441f60
mov byte [ebx], 0x12
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov dword [ebp + 0x4c], ebx
mov ecx, dword [ebp + 0x5c]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [ebp + 0x30], eax
and eax, 1
mov dword [ebp - 0x38], ecx
xor ecx, 1
shl eax, 8
and dword [ebp + 0x40], 0
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], eax
jmp 0x442be2
inc dword [ebp + 0x50]
mov edi, dword [ebp + 0x7c]
mov dword [ebp + 0x18], 0x50
jmp 0x4422e0
inc ecx
mov dword [ebp + 0x50], ecx
xor eax, eax
jmp 0x441fb2
imul eax, eax, 0xa
inc dword [ebp + 0x50]
lea eax, [eax + ecx - 0x30]
mov ecx, dword [ebp + 0x50]
movzx ecx, byte [ecx]
test byte [ecx + 0x457008], 4
jne 0x441fa5
jmp 0x442145
inc ecx
mov dword [ebp + 0x50], ecx
mov al, byte [ecx]
cmp al, 0x3c
jne 0x4420b4
mov eax, dword [edi + 0x18]
inc ecx
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x48], ecx
mov al, byte [ecx]
inc ecx
cmp al, 0x3e
mov dword [ebp + 0x50], ecx
jne 0x441fde
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 0x1c]
and dword [ebp + 0x44], 0
mov edi, ecx
sub edi, dword [ebp + 0x48]
dec edi
test eax, eax
mov dword [ebp + 0x28], edi
jle 0x44207a
mov edi, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x28]
mov esi, dword [ebp + 0x48]
add edi, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x442016
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x442043
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x34]
cmp byte [ecx + edx + 2], 0
jne 0x44203e
test dword [ebp + 0x30], 0x80000
jne 0x442045
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x2b
jmp 0x442fe3
or edx, 0xffffffff
test edx, edx
jl 0x44205b
mov ecx, dword [ebp + 0x7c]
mov edx, dword [ecx + 0x20]
add dword [ebp + 0x34], edx
inc dword [ebp + 0x44]
mov edx, dword [ebp + 0x44]
cmp edx, dword [ecx + 0x1c]
jl 0x441fff
jmp 0x442077
sub eax, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx + 0x20]
imul eax, ecx
push eax
mov eax, dword [ebp + 0x34]
push eax
add ecx, eax
push ecx
call fcn.00449040
add esp, 0xc
mov edi, dword [ebp + 0x28]
mov esi, dword [ebp + 0x60]
mov ecx, dword [esi]
mov eax, dword [ebp + 0x34]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov cl, byte [esi]
inc cl
push edi
push dword [ebp + 0x48]
mov byte [eax + 1], cl
add eax, 2
push eax
call fcn.00447390
mov eax, dword [ebp + 0x34]
mov byte [edi + eax + 2], 0
mov eax, dword [ebp + 0x7c]
add esp, 0xc
inc dword [eax + 0x1c]
mov edi, eax
jmp 0x4422aa
cmp al, 0x3d
je 0x4420c0
cmp al, 0x3e
jne 0x4422da
mov esi, dword [edi + 0x18]
movzx eax, al
inc ecx
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x48], ecx
jmp 0x4420d0
inc ecx
mov dword [ebp + 0x50], ecx
cmp byte [ecx], 0x29
jne 0x4420cf
sub ecx, dword [ebp + 0x48]
and dword [ebp + 0x44], 0
cmp dword [edi + 0x1c], 0
mov dword [ebp + 0x2c], ecx
jle 0x44210c
push dword [ebp + 0x2c]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x48]
call fcn.004472f0
add esp, 0xc
test eax, eax
je 0x44210c
add esi, dword [edi + 0x20]
inc dword [ebp + 0x44]
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jl 0x4420e8
mov eax, dword [ebp + 0x44]
cmp eax, dword [edi + 0x1c]
jge 0x44211d
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
jmp 0x44213b
push dword [ebp + 0x2c]
mov eax, dword [ebp + 0x60]
push dword [ebp + 0x48]
push dword [eax]
mov eax, dword [ebp + 0x50]
call fcn.00441531
add esp, 0xc
test eax, eax
jle 0x442f60
cmp dword [ebp + 0x10], 0x3e
jne 0x4421d1
test eax, eax
mov dword [ebp + 0x40], ebx
mov byte [ebx], 0
jne 0x442157
mov eax, dword [edi + 0x10]
mov dword [ebp + 0x44], eax
jmp 0x442167
push eax
mov eax, dword [edi + 0x10]
push 0
call fcn.004417b5
pop ecx
pop ecx
mov dword [ebp + 0x44], eax
test eax, eax
je 0x442f60
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x442196
mov eax, dword [ebp + 0x78]
push ecx
push ebx
push dword [ebp + 0x44]
call fcn.004419a4
add esp, 0xc
test eax, eax
jne 0x442f6b
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x4a
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov byte [ebx], 0x3f
mov ecx, eax
sub ecx, dword [edi + 0x10]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [edi + 0x10]
mov byte [ebx - 1], al
mov byte [ebx], 0x42
mov byte [ebx + 1], 0
mov byte [ebx + 2], 6
add ebx, 3
mov dword [ebp + 0x4c], ebx
jmp 0x442be2
mov byte [ebx], 0x3e
mov dword [ebp + 0x40], ebx
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
xor edx, edx
inc ebx
inc edx
cmp eax, 0x20
mov dword [ebp + 0x4c], ebx
jge 0x4421f3
mov ecx, eax
shl edx, cl
or dword [edi + 0x28], edx
cmp eax, dword [edi + 0x24]
jle 0x442be2
mov dword [edi + 0x24], eax
jmp 0x442be2
mov byte [ebx], 0x40
mov dword [ebp + 0xc], ebx
inc ebx
xor ecx, ecx
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx eax, byte [eax]
test byte [eax + 0x457008], 4
mov dword [ebp], 1
je 0x44224e
imul ecx, ecx, 0xa
inc dword [ebp + 0x50]
lea ecx, [ecx + eax - 0x30]
mov eax, dword [ebp + 0x50]
movzx eax, byte [eax]
test byte [eax + 0x457008], 4
jne 0x442229
cmp ecx, 0xff
jg 0x442f76
mov byte [ebx], cl
mov eax, dword [ebp + 0x50]
sub eax, dword [edi + 0x14]
inc ebx
inc eax
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp + 0x50]
sub al, byte [edi + 0x14]
mov byte [ebx + 2], 0
inc al
mov byte [ebx + 1], al
mov byte [ebx + 3], 0
add ebx, 4
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x40], esi
jmp 0x442be2
mov dword [ebp + 0x18], 0x4a
inc ecx
mov dword [ebp + 0x50], ecx
jmp 0x4422e0
mov dword [ebp + 0x18], 0x45
inc ecx
mov dword [ebp + 0x50], ecx
jmp 0x4422da
test ax, 0x1000
je 0x4422a7
mov dword [ebp + 0x18], 0x50
jmp 0x4422e0
mov esi, dword [ebp + 0x60]
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x64
jle 0x4422d4
mov byte [ebx + 3], 0x4f
mov eax, dword [esi]
sar eax, 8
mov byte [ebx + 4], al
mov al, byte [esi]
mov dword [ebp + 0x18], 0xb5
mov byte [ebx + 5], al
mov dword [ebp + 0x2c], 3
jmp 0x4422e0
add eax, 0x50
mov dword [ebp + 0x18], eax
cmp dword [ebp + 0x18], 0x4a
jl 0x4422e5
mov dword [ebp + 0x40], ebx
jmp 0x4422ea
xor esi, esi
mov dword [ebp + 0x40], esi
mov eax, dword [ebp + 0x18]
cmp eax, 0x47
mov byte [ebx], al
mov esi, dword [edi + 0x2c]
mov dword [ebp + 8], ebx
je 0x442303
cmp eax, 0x48
je 0x442303
xor eax, eax
jmp 0x442306
xor eax, eax
inc eax
push edi
push dword [ebp + 0x78]
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push dword [ebp + 0x2c]
push eax
push dword [ebp + 0x6c]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 8]
push eax
push dword [ebp + 0x60]
mov eax, dword [ebp + 0x30]
and eax, 7
push eax
push dword [ebp + 0x14]
call fcn.00442fed
add esp, 0x30
test eax, eax
je 0x442fe3
mov edi, dword [ebp + 0x18]
cmp edi, 0x4b
jne 0x442373
xor eax, eax
xor ecx, ecx
mov ch, byte [ebx + 1]
inc eax
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x42
jne 0x442348
cmp eax, 2
jg 0x442f81
cmp eax, 1
jne 0x442373
or eax, 0xffffffff
mov edx, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], eax
jmp 0x442379
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x1c]
and dword [ebp - 0xc], 0
cmp edi, 0x50
mov dword [ebp + 0x34], ecx
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x28], ecx
jge 0x44239f
cmp edi, 0x4a
je 0x44239f
cmp edi, 0x4b
je 0x44239f
cmp edi, 0x45
jne 0x4423d4
jmp 0x4423cd
cmp ecx, 0xfffffffe
jne 0x4423be
test eax, eax
jl 0x4423b4
mov dword [ebp + 0x38], eax
mov dword [ebp - 0xc], 1
jmp 0x4423b8
or dword [ebp + 0x38], 0xffffffff
or dword [ebp + 0x28], 0xffffffff
jmp 0x4423cd
test eax, eax
jl 0x4423cd
test edx, edx
jge 0x4423d1
or eax, esi
mov edx, eax
mov dword [ebp - 0x10], edx
test edx, edx
jl 0x4423d4
mov dword [ebp + 0x1c], edx
mov eax, dword [ebp + 8]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x50]
cmp byte [eax], 0x29
jne 0x442f8c
mov ebx, dword [ebp + 0x4c]
jmp 0x442be2
mov dword [ebp + 0x40], esi
mov byte [ebx], 0x14
jmp 0x442561
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x442403
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x40], ebx
mov byte [ebx], 0xb
jmp 0x442561
sub eax, 0x3f
je 0x442a6e
sub eax, 0x1c
je 0x442567
dec eax
je 0x4424b7
dec eax
dec eax
je 0x44249b
sub eax, 0x1d
je 0x442464
dec eax
jne 0x44246a
mov eax, dword [ebp + 0x70]
mov edx, dword [ebp + 0x38]
mov dword [eax], edx
mov eax, dword [ebp + 0x74]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp + 0x64]
mov dword [eax], ebx
xor eax, eax
inc eax
mov edx, dword [ebp + 0x68]
pop edi
pop esi
mov dword [edx], ecx
pop ebx
add ebp, 0x54
leave
ret
cmp dword [ebp + 0x2c], 0
jne 0x442472
mov al, byte [ebp + 0x48]
jmp 0x4429ce
mov esi, dword [ebp + 0x6c]
push esi
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x50]
inc eax
call fcn.0044149c
add esp, 0xc
cmp dword [esi], 0
mov dword [ebp + 0x50], eax
jne 0x442fe3
jmp 0x442a79
test byte [ebp + 0x30], 2
je 0x4424ab
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x4424ab
or dword [ebp + 0x38], 0xffffffff
and dword [ebp + 0x40], 0
mov byte [ebx], 0x13
jmp 0x442561
mov eax, dword [ebp + 0x50]
push 0
push dword [ebp + 0x30]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x60]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.00441216
add esp, 0x14
test eax, eax
jge 0x4429ce
mov ecx, eax
neg ecx
cmp ecx, 0x13
jne 0x442508
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x4424fc
add eax, 2
cmp byte [eax], 0x45
je 0x441b54
mov dword [ebp + 4], 1
jmp 0x442be2
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x44251c
cmp ecx, 4
jle 0x44251c
cmp ecx, 0x10
jge 0x44251c
or dword [ebp + 0x38], 0xffffffff
cmp ecx, 0x14
mov edx, dword [ebp + 0x38]
mov dword [ebp + 0x28], edx
mov edx, dword [ebp + 0x1c]
mov dword [ebp + 0x34], edx
jl 0x44254a
push 0xffffffffffffffec
pop ecx
sub ecx, eax
mov byte [ebx], 0x3e
mov dword [ebp + 0x40], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x4421c9
cmp ecx, 4
jle 0x442559
cmp ecx, 0x10
jge 0x442559
mov dword [ebp + 0x40], ebx
jmp 0x44255d
and dword [ebp + 0x40], 0
neg al
mov byte [ebx], al
inc ebx
jmp 0x4421c9
mov al, byte [ecx + 1]
cmp al, 0x3a
mov dword [ebp + 0x40], ebx
je 0x442579
cmp al, 0x2e
je 0x442579
cmp al, 0x3d
jne 0x442593
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp + 0x50]
mov ecx, edi
call fcn.004419d6
test eax, eax
pop ecx
mov ecx, dword [ebp + 0x50]
jne 0x442f97
inc ecx
mov dword [ebp + 0x50], ecx
movzx esi, byte [ecx]
cmp esi, 0x5e
jne 0x4425af
inc ecx
mov dword [ebp + 0x50], ecx
movzx esi, byte [ecx]
mov dword [ebp + 0x2c], 1
jmp 0x4425b3
and dword [ebp + 0x2c], 0
and dword [ebp + 0x48], 0
or dword [ebp + 0x4c], 0xffffffff
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x30]
rep stosd dword es:[edi], eax
cmp dword [ebp + 4], 0
je 0x4425ed
cmp esi, 0x5c
jne 0x442937
mov eax, dword [ebp + 0x50]
inc eax
cmp byte [eax], 0x45
jne 0x442937
and dword [ebp + 4], 0
mov dword [ebp + 0x50], eax
jmp 0x442981
cmp esi, 0x5b
jne 0x442717
mov edx, dword [ebp + 0x50]
mov al, byte [edx + 1]
cmp al, 0x3a
je 0x44260c
cmp al, 0x2e
je 0x44260c
cmp al, 0x3d
jne 0x44274e
mov edi, dword [ebp + 0x7c]
lea eax, [ebp - 4]
push eax
mov ecx, edi
mov eax, edx
call fcn.004419d6
test eax, eax
pop ecx
je 0x44274e
mov eax, dword [edi + 8]
and dword [ebp + 0x14], 0
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x3a
jne 0x442fae
inc eax
inc eax
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5e
jne 0x442651
inc eax
mov dword [ebp + 0x14], 1
mov dword [ebp + 0x50], eax
mov ecx, dword [ebp - 4]
sub ecx, eax
push ecx
push eax
call fcn.00441a0c
test eax, eax
pop ecx
pop ecx
jl 0x442fb9
test byte [ebp + 0x30], 1
je 0x442674
cmp eax, 2
jg 0x442674
xor eax, eax
mov edx, dword [ebp + 0x10]
imul eax, eax, 3
shl eax, 2
mov esi, dword [eax + 0x456f60]
push 8
add esi, edx
pop ecx
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x456f64]
mov edi, dword [eax + 0x456f68]
xor eax, eax
cmp ecx, eax
jl 0x4426c5
xor esi, esi
add ecx, edx
cmp edi, eax
jl 0x4426b6
mov dl, byte [ecx + esi]
or byte [ebp + esi - 0x60], dl
inc esi
cmp esi, 0x20
jl 0x4426a7
jmp 0x4426c5
mov dl, byte [ecx + esi]
not dl
and byte [ebp + esi - 0x60], dl
inc esi
cmp esi, 0x20
jl 0x4426b6
cmp edi, eax
jge 0x4426cb
neg edi
cmp edi, 1
jne 0x4426d6
and byte [ebp - 0x5f], 0xc3
jmp 0x4426df
cmp edi, 2
jne 0x4426df
and byte [ebp - 0x55], 0x7f
cmp dword [ebp + 0x14], eax
je 0x4426f6
mov cl, byte [ebp + eax - 0x60]
not cl
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x4426e4
jmp 0x442704
mov cl, byte [ebp + eax - 0x60]
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x4426f6
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x48], 0xa
jmp 0x442981
cmp esi, 0x5c
jne 0x44274e
mov eax, dword [ebp + 0x60]
xor edi, edi
inc edi
push edi
push dword [ebp + 0x30]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.00441216
mov esi, eax
mov ecx, esi
neg ecx
add esp, 0x14
cmp ecx, 4
jne 0x442746
push 8
jmp 0x44274d
cmp ecx, 0xf
jne 0x4427af
push 0x58
pop esi
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x2d
jne 0x442937
add eax, 2
cmp byte [eax], 0x5d
je 0x442937
mov edi, eax
mov dword [ebp + 0x50], edi
movzx eax, byte [edi]
cmp eax, 0x5c
mov dword [ebp + 0x44], eax
jne 0x4428c5
mov eax, dword [ebp + 0x60]
push 1
push dword [ebp + 0x30]
push dword [eax]
lea eax, [ebp + 0x50]
push dword [ebp + 0x6c]
push eax
call fcn.00441216
add esp, 0x14
test eax, eax
mov dword [ebp + 0x44], eax
jge 0x4428c5
cmp eax, 0xfffffffc
jne 0x4428ba
push 8
jmp 0x4428c1
cmp ecx, 0x13
jne 0x4427d1
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x4427c9
add eax, 2
cmp byte [eax], 0x45
je 0x4425e5
mov dword [ebp + 4], edi
jmp 0x442981
test esi, esi
jge 0x44274e
mov eax, dword [ebp + 0x7c]
add dword [ebp + 0x48], 2
sub ecx, 5
mov eax, dword [eax + 8]
je 0x4428a3
dec ecx
je 0x44288e
dec ecx
je 0x44286b
dec ecx
je 0x44284a
dec ecx
je 0x442830
dec ecx
je 0x442818
test byte [ebp + 0x30], 0x40
jne 0x442fc4
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
sub dword [ebp + 0x48], 2
jmp 0x44274e
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x44281a
jmp 0x442981
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x442832
jmp 0x442981
mov edi, eax
lea eax, [ebp - 0x30]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x30]
mov al, byte [edi + ecx]
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x442853
and byte [ebp - 0x2f], 0xf7
jmp 0x442981
mov edi, eax
lea eax, [ebp - 0x30]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x30]
mov al, byte [edi + ecx]
not al
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x442874
or byte [ebp - 0x2f], 8
jmp 0x442981
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x442890
jmp 0x442981
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x4428a5
jmp 0x442981
cmp eax, 0xfffffff1
jne 0x442931
push 0x58
pop eax
mov dword [ebp + 0x44], eax
cmp esi, eax
je 0x442937
jg 0x442981
mov ecx, dword [ebp + 0x30]
and ecx, 1
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0x48]
sub eax, esi
lea eax, [ecx + eax + 1]
mov dword [ebp + 0x48], eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
cmp dword [ebp + 0x10], 0
je 0x442926
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + esi]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
mov dword [ebp + 0x4c], esi
inc esi
cmp esi, dword [ebp + 0x44]
jle 0x4428e4
jmp 0x442981
add edi, 0xfffffffe
mov dword [ebp + 0x50], edi
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
test byte [ebp + 0x30], 1
je 0x44297b
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 4]
movzx esi, byte [eax + esi]
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edi, [ebp + eax - 0x30]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [edi], al
inc dword [ebp + 0x48]
mov dword [ebp + 0x4c], esi
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
cmp esi, 0x5d
jne 0x4425c5
xor eax, eax
cmp dword [ebp + 4], eax
jne 0x4425c5
cmp dword [ebp + 0x48], 1
jne 0x442a22
cmp dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x1c]
mov dword [ebp + 0x34], ecx
je 0x4429cb
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x4429b9
or dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x28], eax
mov al, byte [ebp + 0x4c]
mov byte [ebx], 0x17
inc ebx
jmp 0x44255f
mov al, byte [ebp + 0x4c]
test byte [ebp + 0x30], 1
mov dword [ebp + 0x40], ebx
setne cl
add cl, 0x15
mov byte [ebx], cl
mov ecx, dword [ebp + 0x38]
inc ebx
mov byte [ebx], al
inc ebx
cmp ecx, 0xfffffffe
mov dword [ebp + 0x4c], ebx
jne 0x442a04
or dword [ebp + 0x28], 0xffffffff
mov ecx, dword [ebp + 0x1c]
movzx eax, al
or eax, dword [ebp - 8]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], eax
jmp 0x442be2
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x34], eax
movzx eax, byte [ebx - 1]
mov dword [ebp + 0x28], ecx
mov ecx, dword [ebp + 0x7c]
or eax, dword [ecx + 0x2c]
or eax, dword [ebp - 8]
mov dword [ebp + 0x1c], eax
jmp 0x442be2
cmp dword [ebp + 0x38], 0xfffffffe
jne 0x442a2c
or dword [ebp + 0x38], 0xffffffff
cmp dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x28], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp + 0x34], ecx
je 0x442a58
mov byte [ebx], 0x3c
inc ebx
lea eax, [ebp - 0x30]
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 0x442a4b
jmp 0x442a66
mov byte [ebx], 0x3b
inc ebx
push 8
pop ecx
lea esi, [ebp - 0x30]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
add ebx, 0x20
jmp 0x4421c9
and dword [ebp + 0x24], 0
mov dword [ebp + 0x20], 1
mov esi, dword [ebp + 0x40]
test esi, esi
mov ecx, dword [ebp + 0x20]
je 0x442fcf
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x442a9a
mov edx, dword [ebp + 0x28]
mov dword [ebp + 0x38], edx
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x1c], edx
mov edi, dword [ebp + 0x50]
sub eax, ecx
neg eax
sbb eax, eax
and dword [ebp + 0x2c], 0
and dword [ebp + 0x10], 0
and eax, 0x200
inc edi
mov dword [ebp - 0x40], eax
mov dword [ebp + 8], esi
mov al, byte [edi]
cmp al, 0x2b
jne 0x442ace
xor eax, eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x10], 1
mov dword [ebp + 0x50], edi
jmp 0x442ae0
cmp al, 0x3f
jne 0x442ada
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x50], edi
jmp 0x442add
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x48], eax
cmp byte [esi], 0x3f
jne 0x442b29
mov eax, dword [ebp + 0x40]
push 3
push eax
add eax, 3
push eax
call fcn.00449040
mov eax, dword [ebp + 0x40]
mov esi, dword [ebp + 0x40]
add ebx, 3
mov ecx, ebx
sub ecx, eax
sar ecx, 8
mov dl, bl
sub dl, al
mov byte [eax + 1], cl
mov byte [eax], 0x50
mov byte [eax + 2], dl
mov eax, dword [ebp + 0x48]
mov byte [ebx + 1], cl
mov ecx, dword [ebp + 0x20]
add esp, 0xc
mov byte [ebx], 0x42
mov byte [ebx + 2], dl
add ebx, 3
mov dword [ebp + 0x4c], ebx
mov dl, byte [esi]
cmp dl, 0x15
mov byte [ebp + 0x3f], dl
je 0x442dcb
cmp dl, 0x16
je 0x442dcb
cmp dl, 0x17
jne 0x442b58
movzx edx, byte [esi + 1]
mov dword [ebp + 0x2c], 9
mov dword [ebp + 0x48], edx
jmp 0x442de7
cmp dl, 0x10
jae 0x442b6a
movzx edx, byte [ebp + 0x3f]
mov dword [ebp + 0x2c], 0x12
jmp 0x442b50
cmp dl, 0x3b
je 0x442d59
cmp dl, 0x3c
je 0x442d59
cmp dl, 0x3e
je 0x442d59
cmp dl, 0x50
jae 0x442b98
cmp dl, 0x4a
je 0x442b98
cmp dl, 0x4b
jne 0x442fda
and dword [ebp + 0x14], 0
and dword [ebp + 0x44], 0
mov edi, ebx
sub edi, esi
cmp ecx, 0xffffffff
jne 0x442bc1
mov edx, esi
xor eax, eax
mov ah, byte [edx + 1]
mov al, byte [edx + 2]
add edx, eax
cmp byte [edx], 0x42
jne 0x442bab
mov eax, ebx
sub eax, edx
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x24], 0
jne 0x442c69
test ecx, ecx
jne 0x442bef
mov dword [ebp + 0x4c], esi
mov ebx, dword [ebp + 0x4c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x7c]
and dword [ebp + 0x40], 0
or dword [eax + 0x2c], ecx
inc dword [ebp + 0x50]
mov ecx, dword [ebp + 0x50]
xor esi, esi
jmp 0x441b35
cmp ecx, 1
push dword [ebp + 0x7c]
mov byte [ebx], 0
push 0
push dword [ebp + 0x40]
jg 0x442c27
xor ebx, ebx
inc ebx
call fcn.00441a4a
mov esi, dword [ebp + 0x40]
push edi
lea ebx, [esi + 1]
push esi
push ebx
call fcn.00449040
mov al, byte [ebp + 0x48]
add esp, 0x18
inc dword [ebp + 0x4c]
add al, 0x4d
mov byte [esi], al
mov dword [ebp + 0x40], ebx
jmp 0x442c5e
push 4
pop ebx
call fcn.00441a4a
mov esi, dword [ebp + 0x40]
push edi
lea eax, [esi + 4]
push esi
push eax
call fcn.00449040
mov al, byte [ebp + 0x48]
add dword [ebp + 0x4c], ebx
add al, 0x4d
mov byte [esi], al
add esp, 0x18
inc esi
mov byte [esi], 0x50
inc esi
mov dword [ebp + 0x44], esi
mov byte [esi], 0
mov byte [esi + 1], 0
inc esi
inc esi
mov dword [ebp + 0x40], esi
dec dword [ebp + 0x20]
mov ebx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x20]
jmp 0x442cad
cmp dword [ebp + 0x24], 1
jle 0x442ca0
cmp dword [ebp - 0xc], 0
je 0x442c81
cmp dword [ebp + 0x1c], 0
jge 0x442c81
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x1c], eax
cmp dword [ebp + 0x24], 1
jle 0x442ca0
mov esi, dword [ebp + 0x24]
dec esi
push edi
push dword [ebp + 0x40]
push ebx
call fcn.00447390
add esp, 0xc
add ebx, edi
dec esi
jne 0x442c8b
mov dword [ebp + 0x4c], ebx
mov eax, dword [ebp + 0x20]
test eax, eax
jle 0x442caf
sub eax, dword [ebp + 0x24]
mov dword [ebp + 0x20], eax
test eax, eax
jl 0x442d4a
lea esi, [eax - 1]
test esi, esi
jl 0x442d05
mov al, byte [ebp + 0x48]
add al, 0x4d
mov byte [ebp + 0x3f], al
jmp 0x442cc9
mov al, byte [ebp + 0x3f]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x442cf0
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x50
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 + 0x44], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push edi
push dword [ebp + 0x40]
push ebx
call fcn.00447390
add esp, 0xc
add ebx, edi
dec esi
jns 0x442cc6
mov dword [ebp + 0x4c], ebx
cmp dword [ebp + 0x44], 0
je 0x442eff
mov esi, dword [ebp + 0x44]
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], 0x42
mov byte [ebx + 2], cl
sub esi, edx
mov dword [ebp + 0x14], 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 0x442d12
jmp 0x442dc3
mov al, byte [ebp + 0x48]
mov ecx, ebx
add al, 0x43
sub ecx, dword [ebp + 0x14]
jmp 0x442efd
test ecx, ecx
je 0x442bcf
xor esi, esi
inc esi
cmp ecx, esi
je 0x442d6e
mov edx, dword [ebp + 0x7c]
mov dword [edx + 0x30], esi
cmp dword [ebp + 0x24], 0
jne 0x442d7d
cmp ecx, 0xffffffff
jne 0x442d8c
add al, 0x33
jmp 0x442d92
cmp dword [ebp + 0x24], 1
jne 0x442d97
cmp ecx, 0xffffffff
jne 0x442d97
add al, 0x35
jmp 0x442d92
cmp ecx, esi
jne 0x442d97
add al, 0x37
mov byte [ebx], al
inc ebx
jmp 0x442dc3
add al, 0x39
mov byte [ebx], al
mov eax, dword [ebp + 0x24]
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 0x442db7
and dword [ebp + 0x20], 0
mov ecx, dword [ebp + 0x20]
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
mov dword [ebp + 0x4c], ebx
jmp 0x442eff
cmp dword [ebp + 0x24], 1
movzx edx, byte [ebx - 1]
mov dword [ebp + 0x48], edx
jle 0x442de7
mov edx, dword [ebp + 0x7c]
mov edi, dword [edx + 0x2c]
or edi, dword [ebp + 0x48]
or edi, dword [ebp - 8]
mov dword [ebp + 0x1c], edi
cmp byte [ebp + 0x3f], 0xe
je 0x442dfd
cmp byte [ebp + 0x3f], 0xd
je 0x442dfd
or dword [ebp + 0x40], 0xffffffff
or dword [ebp + 0x44], 0xffffffff
jmp 0x442e0b
movzx edx, byte [esi + 1]
mov dword [ebp + 0x44], edx
movzx edx, byte [esi + 2]
mov dword [ebp + 0x40], edx
test ecx, ecx
mov edi, ebx
mov dword [ebp + 0x4c], esi
je 0x442bd2
xor edx, edx
inc edx
cmp ecx, edx
je 0x442e25
mov ebx, dword [ebp + 0x7c]
mov dword [ebx + 0x30], edx
mov ebx, dword [ebp + 0x2c]
add eax, ebx
cmp dword [ebp + 0x24], 0
jne 0x442e4c
cmp ecx, 0xffffffff
jne 0x442e3f
add al, 0x18
mov byte [esi], al
inc esi
jmp 0x442eee
cmp ecx, 1
jne 0x442edd
add al, 0x1c
jmp 0x442e37
cmp dword [ebp + 0x24], 1
jne 0x442e82
cmp ecx, 0xffffffff
jne 0x442e5b
add al, 0x1a
jmp 0x442e37
cmp ecx, 1
mov dword [ebp + 0x4c], edi
je 0x442bd2
add al, 0x1e
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
inc eax
inc eax
mov dword [ebp + 0x4c], eax
jmp 0x442ef1
mov edx, dword [ebp + 0x24]
add bl, 0x20
mov byte [esi], bl
inc esi
mov ebx, edx
sar ebx, 8
mov byte [esi], bl
mov byte [esi + 1], dl
inc esi
inc esi
test ecx, ecx
mov dword [ebp + 0x4c], esi
jge 0x442eb9
mov cl, byte [ebp + 0x48]
mov byte [esi], cl
mov ecx, dword [ebp + 0x44]
inc esi
test ecx, ecx
jl 0x442e35
mov byte [esi], cl
mov cl, byte [ebp + 0x40]
inc esi
mov byte [esi], cl
inc esi
jmp 0x442e35
cmp ecx, edx
je 0x442ef1
mov esi, dword [ebp + 0x4c]
mov bl, byte [ebp + 0x48]
mov byte [esi], bl
inc esi
cmp dword [ebp + 0x44], 0
jl 0x442ed8
mov bl, byte [ebp + 0x44]
mov byte [esi], bl
mov bl, byte [ebp + 0x40]
inc esi
mov byte [esi], bl
inc esi
sub ecx, edx
mov dword [ebp + 0x20], ecx
add al, 0x1e
mov byte [esi], al
inc esi
mov eax, ecx
sar eax, 8
mov byte [esi], al
mov byte [esi + 1], cl
inc esi
inc esi
mov dword [ebp + 0x4c], esi
mov ecx, dword [ebp + 0x4c]
inc dword [ebp + 0x4c]
mov al, byte [ebp + 0x48]
mov ebx, dword [ebp + 0x4c]
mov byte [ecx], al
cmp dword [ebp + 0x10], 0
je 0x442bd5
mov ecx, dword [ebp + 8]
mov eax, ebx
sub eax, ecx
push eax
push ecx
add ecx, 3
push ecx
mov dword [ebp + 0x10], eax
call fcn.00449040
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov byte [eax], 0x4a
add ecx, 3
add ebx, 3
mov byte [ebx], 0x42
add esp, 0xc
inc ebx
mov byte [ebx + 1], cl
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp + 8]
inc ebx
mov byte [edx + 1], al
mov eax, dword [ebp + 8]
inc ebx
mov dword [ebp + 0x4c], ebx
mov byte [eax + 2], cl
jmp 0x442bd5
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
jmp 0x442fa7
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xf
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x28
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x26
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1b
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xe
jmp 0x442fe3
xor eax, eax
cmp byte [ecx + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
mov ecx, dword [ebp + 0x6c]
mov dword [ecx], eax
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1f
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0x1e
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 7
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 9
jmp 0x442fe3
mov eax, dword [ebp + 0x6c]
mov dword [eax], 0xb
mov ecx, dword [ebp + 0x50]
xor eax, eax
jmp 0x442457